
8/24/2011
1
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
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Bài 01. Tổ ng quan về OOP
Nộ i dung
1. Lậ p trình hư ớ ng đố i tư ợ ng
2. Công nghệ hư ớ ng đố i tư ợ ng
3. Ngôn ngữ lậ p trình Java
4. Ví dụ và bài tậ p
2
Nộ i dung
1. Lậ p trình hư ớ ng đố i tư ợ ng
2. Công nghệ hư ớ ng đố i tư ợ ng
3. Ngôn ngữ lậ p trình Java
4. Ví dụ và bài tậ p
3
1.1. Lịch sử phát triể n củ a các NNLT
a. Hợ p ngữ (Assembly language):
4
1.1. Lịch sử phát triể n củ a các NNLT (2)
b. NNLT cấ u trúc/ thủ
tụ c:
5
1.1. Lịch sử phát triể n củ a các NNLT (3)
c. NNLT hư ớ ng đố i tư ợ ng:
6

8/24/2011
2
1.2. Đố i tư ợ ng là gì?
Đố i tư ợ ng trong thế giớ i thự c
7
Đố i tư ợ ng 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.
8
Đố i tư ợ ng phầ n mề m
9
Đố i tư ợ ng
10
Đố i tư ợ ng phầ n mề m Đố i tư ợ ng phầ n mề m Xe Đạ p
Mô hình hóa đố i tư ợ ng
11
Object-oriented modeling
House Tom Car
Tree
House
Tom
Car
Tree
lives in
drives
Model
Reality
Tư ơ ng tác giữ a các đố i tư ợ ng
12

8/24/2011
3
Gọ i hàm vs. Gử i thông điệ p
Gọ i hàm (Call function)
Gử i thông điệ p
13
Thông điệ p vs. Phư ơ ng thứ c
Thông điệ p
Phư ơ ng thứ c
14
Hư ớ ng cấ u trúc vs. Hư ớ ng ĐT?
Hư ớ ng cấ u trúc:
Hư ớ ng đố i tư ợ ng:
15
Lớ p-Ví dụ Lớ p Xe đạ p
16
Khai báo cho lớ p
XeDap
Đố i tư ợ ng củ a lớ p
XeDap
Nộ i dung
1. Lậ p trình hư ớ ng đố i tư ợ ng
2. Công nghệ hư ớ ng đố i tư ợ ng
3. Ngôn ngữ lậ p trình Java
4. Ví dụ và bài tậ p
17
2. Công nghệ đố i tư ợ ng (OT)
18
(Object Technology - A Manager’s Guide, Taylor, 1997)

8/24/2011
4
2.1. Lịch sử phát triể n củ a OT
19
Simula
1967
C ++
Late 1980s
Smalltalk
1972
Java
1991
The UML
1996
UML 2
2004
2.2. OT đư ợ c sử dụ ng ở đâu?
Các hệ thố ng Client/ Server và phát triể n
Web
20
2.2. OO đư ợ c sử dụ ng ở đâu? (2)
Hệ nhúng (embedded system)
Hệ thố ng thờ i gian thự c (real-time)
21
4
2.3. Các nguyên lý cơ bả n củ a OO
22
Trừ u
tư ợ ng
hóa
Phân cấ p
Hư ớ ng đố i tư ợ ng
Đóng gói
Mô-đun hóa
a. Trừ u tư ợ ng hóa (Abstraction)
23
2323
b. Đóng gói (Encapsulation)
24
Tăng cư ờ ng tính mề m dẻ o

8/24/2011
5
c. Mô đun hóa (Modularity)
25
2525
d. Phân cấ p (Hierarchy)
26
2626
Giả m mứ c độ
trừ u tư ợ ng hóa
Gia tăng mứ c độ
trừ u tư ợ ng hóa
Tài sả n
Bấ t độ ng sả n
Tiế t kiệ m
Tài khoả n ngân hàng
Tiên gử i Cổ phiế u
Chứ ng khoán
Các loạ i giấ y tờ có giá trị
Nộ i dung
1. Lậ p trình hư ớ ng đố i tư ợ ng
2. Công nghệ hư ớ ng đố i tư ợ ng
3. Ngôn ngữ lậ p trình Java
4. Ví dụ và bài tậ p
27
3.1. Java là gì?
Java là mộ t ngôn ngữ lậ p trình HĐT đư ợ c phát triể n
bở i Sun Microsystems.
28
Green Team and James Gosling
(the leader)
3.1. Java là gì?
Ngày nay, nhắ c đế n Java, không còn nhắ c
đế n như mộ t ngôn ngữ mà còn là mộ t công
nghệ , mộ t nề n tả ng phát triể n.
Java có mộ t cộ ng đồ ng phát triể n mạ nh mẽ
29
3.2. Các ấ n bả n củ a Java
30