Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan về OOP - Nguyễn Thị Thu Trang
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
VIỆN CNTT & TT
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
IT3100
LẬP TRÌNH HƯỚNG
ĐỐI TƯỢNG
Bài 01. Tổng quan về OOP
1
Mục tiêu bài học
• Tìm hiểu tổng quan về Công nghệ lập trình hướng đối
tượng
• Khái niệm, Ưu điểm, vai trò, ứng dụng, Sự phát triển các ngôn
ngữ lập trình
• Tìm hiểu về Đối tượng và lớp
• Đối tượng, trạng thái, hành vi
• Lớp, thuộc tính, phương thức
• Tương tác giữa các đối tượng (thông điệp, giao diện)
• Tìm hiểu Ngôn ngữ lập trình Java
• Giới thiệu về Java, Nền tảng Java, Mô hình dịch Java
• Tính năng và ứng dụng của Java
• Cài đặt môi trường lập trình
2
Nội dung
1. Công nghệ hướng đối tượng (HĐT)
2. Đối tượng và lớp
3. Ngôn ngữ lập trình Java
4. Cài đặt môi trường lập trình
3
1/ Công nghệ HĐT
4
1.1. Kỹ thuật lập trình
• Kỹ thuật lập trình: Kỹ thuật thực thi một giải pháp
phần mềm (cấu trúc dữ liệu + giải thuật) dựa trên
nền tảng một phương pháp luận (methodology) và
một hoặc nhiều ngôn ngữ lập trình phù hợp với yêu
cầu đặc thù của ứng dụng
• Ngôn ngữ lập trình
• Là ngôn ngữ được chuẩn hóa
• Cả con người và máy tính có thể đọc và hiểu được
• Sử dụng chương trình dịch tương ứng để biên dịch toàn
bộ chương trình nguồn thành mã máy trước khi thực
hiện
5
1.2. Sự phát triển của ngôn ngữ lập
trình
Lập trình
tuần tự
Hướng thủ
tục
Hướng đối
tượng
Ngôn ngữ máy
Assembly language
6
"Tất cả mọi thứ đều là đối tượng"
-Alan Kay
1.3. Lập trình hướng đối tượng
• Thể hiện các thành phần của bài toán là các “đối
tượng” (object).
• Hướng đối tượng là một kỹ thuật để mô hình hóa
hệ thống thành nhiều đối tượng tương tác với
nhau
House
Car
Tom
Reality
lower
Object-oriented modeling
Car
drives
House
Model
lives in
gets
7
Flower
1.4 Công nghệ đối tượng (OOT)
• Công nghệ đối tượng là một tập các quy tắc (trừu
tượng hóa, đóng gói, đa hình), các hướng dẫn để xây
dựng phần mềm, cùng với ngôn ngữ, cơ sở dữ liệu và
các công cụ khác hỗ trợ các quy tắc này.
(Object Technology - A Manager’s Guide, Taylor, 1997)
• Các mốc chính của công nghệ đối tượng
Simula
C ++
The UML
Late 1980s
1996
1967
1991
2004
1972
Smalltalk
Java
UML 2
8
1.4.1 OOT được sử dụng ở đâu?
• Các hệ thống Client/Server và
phát triển Web
• Hệ nhúng (embedded system)
• Hệ thống thời gian thực (real-
time)
• Hệ thống phần mềm nói chung…
4
9
1.5. Các nguyên lý cơ bản của OOT
Hướng đối tượng
10
1.5.1 Trừu tượng hóa (Abstraction)
• Là quá trình loại bỏ đi các thông tin/tính chất cụ thể
và giữ lại những thông tin/tính chất chung.
• Tập trung vào các đặc điểm cơ bản của thực thể, các
đặc điểm phân biệt nó với các loại thực thể khác.
• Phụ thuộc vào góc nhìn
• Quan trọng trong ngữ cảnh này nhưng lại không có ý
nghĩa nhiều trong ngữ cảnh khác.
11
Ví dụ: Trừu tượng hóa
Phụ thuộc vào góc nhìn
12
1.5.2 Đóng gói (Encapsulation)
• Che giấu, ẩn đi chi tiết thực hiện bên trong
• Cung cấp cho thế giới bên ngoài một giao diện
• Việc sử dụng không ảnh hưởng bởi chi tiết bên
trong.
13
1.5.3. Thừa kế (Inheritance)
• Xếp hạng hay xếp thứ tự các mức trừu tượng vào
một cấu trúc cây
• Các phần tử ở cùng cấp trong sơ đồ phân cấp thì có
cùng mức trừu tượng hóa
Gia tăng mức độ
trừu tượng hóa
Vehicle
Automobile
Motorcycle
Bus
Giảm mức độ
trừu tượng hóa
Sedan
Sports Car
School Bus
Luxury Bus
14
1.5.4. Đa hình (polymorphism)
• Đa hình: “one name, many forms”
• Nạp chồng phương thức: phương thức cùng tên,
nhưng hoạt động khác nhau
• Add(int x, int y)
• Add(float x, float y)
• Add(float x, float y, float z)
• Ghi đè phương thức (Method Overriding)
• Một Intern (thực tập sinh) là một Intern, đồng thời cũng
có thể được xem là một Staff (nhân viên)
• Phương thức quẹt thẻ của Intern khác với phương thức
quẹt thẻ của Staff
15
2/ Đối tượng và lớp
16
2.1 Đặc tính của LT HĐT
• Alan Kay đã tổng hợp các đặc tính của LT HĐT:
1. Tất cả đều là đối tượng
2. Chương trình phần mềm có thể coi là một tập hợp các
đối tượng tương tác với nhau
3. Mỗi đối tượng trong chương trình có các dữ liệu độc
lập của mình và chiếm bộ nhớ riêng của mình.
4. Mỗi đối tượng đều có dạng đặc trưng của lớp các đối
tượng đó
5. Tất cả các đối tượng thuộc về cùng một lớp đều có các
hành vi giống nhau
17
2.2 Hướng cấu trúc vs. Hướng ĐT
• Hướng cấu trúc:
• data structures + algorithms = Program
• (cấu trúc dữ liệu + giải thuật = Chương trình)
• Hướng đối tượng:
• objects + messages = Program
• (đối tượng + thông điệp = Chương trình)
18
2.3 Đối tượng là gì?
• Đối tượng trong thế giới thực, là một thực thể cụ
thể mà thông thường chúng ta có thể sờ, nhìn thấy
hay cảm nhận được.
• Tất cả có trạng thái (state) và hành vi (behaviour)
19
2.3.1 Trạng thái và hành vi
• Hành vi quyết định đối tượng
• Trạng thái của một đối tượng
là một trong các điều kiện tại
đó mà đối tượng tồn tại.
đó hành động và đáp trả như
thế nào đối với bên ngoài.
• Hành vi nhìn thấy được của
một đối tượng được mô hình
thành một tập các thông điệp
nó có thể đáp trả (các thao
tác mà đối tượng đó thực
hiện).
• Trạng thái của một đối tượng
có thể thay đổi theo thời
gian.
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan về OOP - Nguyễn Thị Thu Trang", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_lap_trinh_huong_doi_tuong_bai_1_tong_quan_ve_oop_n.pdf

