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  
Tom  
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 đủ
pdf 47 trang yennguyen 27240 Free
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:

  • pdfbai_giang_lap_trinh_huong_doi_tuong_bai_1_tong_quan_ve_oop_n.pdf