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