Bài giảng Lập trình hướng đối tượng - Bài 3: Trừu tượng hóa và Đóng gói - 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 03. Trừu tượng hóa và Đóng gói  
1
Mục tiêu bài học  
• Tìm hiểu bản chất, vai trò của trừu tượng hóa  
• Khái niệm, các góc nhìn, so sánh lớp và đối tượng  
• Tìm hiểu về Đóng gói  
• Khái niệm đóng gói, che giấu dữ liệu  
• Chỉ định truy cập  
• Phương thức getter/setter  
• Tìm hiểu cách xây dựng lớp, gói  
• Xây dựng lớp trong Java  
• Quản lý lớp với package  
• Biểu diễn đối tượng, lớp, gói trong UML  
2
Nội dung  
1. Trừu trượng hóa  
2. Đóng gói  
3. Xây dựng lớp và gói  
3
1/ Trừu tượng hóa  
4
1.1 Trừu tượng hóa  
• Là một trong 4 nguyên lý cơ bản của lập trình HĐT.  
• Là quá trình loại bỏ đi các thông tin ít quan trọng và  
giữ lại những thông tin quan trọng, có ý nghĩa với  
bài toán.  
Hướng đối tượng  
• 2 loại trừu tượng hóa  
• Trừu tượng hóa điều khiển  
• Trừu tượng hóa dữ liệu  
5
1.1. Trừu tượng hóa (2)  
• Trừu tượng hóa điều khiển:  
• Bằng cách sử dụng các chương trình con (subprogram) và  
các luồng điều khiển (control flow)  
• Ví dụ: a := (1 + 2) * 5  
• Nếu không có trừu tượng hóa điều khiển, LTV phải chỉ ra tất cả  
các thanh ghi, các bước tính toán mức nhị phân…  
• Trừu tượng hóa dữ liệu:  
• Xử lý dữ liệu theo các cách khác nhau tùy bài toán  
6
1.2. Trừu tượng hóa dữ liệu – Góc nhìn  
• Trừu tượng hóa dữ liệu là một cách nhìn hoặc cách  
biểu diễn một thực thể chỉ bao gồm các thuộc tính  
liên quan trong một ngữ cảnh nào đó.  
• Dựa vào các đặc điểm, thuộc tính đó để phân biệt  
các thực thể khác nhau trong ngữ cảnh đó.  
• Góc nhìn khác nhau (bài toán khác nhau) thì đặc  
điểm, thuộc tính dùng để trừu tượng hóa sẽ khác  
nhau.  
7
Ví dụ: Điện thoại Nokia  
• Những thông tin về các "đối tượng" này?  
• Tất cả là điện thoại Nokia  
• Có loại nắp trượt, có loại nắp gập, có loại dạng bar  
• Một số điện thoại là dòng doanh nhân, một số dòng âm nhạc, 3G…  
• Bàn phím loại tiêu chuẩn, QWERTY hoặc không có bàn phím  
• Màu sắc, chất liệu, kích cỡ… khác nhau  
• v.v…  
• Tùy bài toán, chỉ “trích rút” lấy những thông tin  
quan trọng, phù hợp  
8
Ví dụ: Điện thoại Nokia (2)  
• Các bài toán khác nhau, yêu cầu mô tả các tính chất  
khác nhau về chiếc điện thoại.  
Liên quan  
âm nhạc  
Liên quan  
Liên quan  
trò chơi  
Liên quan  
công việc  
3G  
9
Ví dụ: Điện thoại Nokia (3)  
• Có thể trừu tượng hóa nhiều mức.  
0  
1.3 Lớp  
• Lớp (Class) là cách phân loại các đối tượng dựa trên  
đặc điểm chung của các đối tượng đó.  
• Lớp chính là kết quả của quá trình trừu tượng hóa  
dữ liệu.  
• Lớp định nghĩa một kiểu dữ liệu mới, trừu tượng hóa  
một tập các đối tượng  
• Một đối tượng gọi là một thể hiện của lớp  
• Lớp gồm các phương thức và thuộc tính chung của  
các đối tượng cùng một loại.  
11  
1.3.1 Thuộc tính  
• Thuộc tính  
• Một thuộc tính của một lớp là một trạng thái chung  
được đặt tên của tất cả các thể hiện của lớp đó có thể  
có.  
• Ví dụ: Lớp Ô tô có các thuộc tính  
• Màu sắc  
• Vận tốc  
• Các thuộc tính của cũng là các giá trị trừu tượng.  
• Mỗi đối tượng có bản sao các thuộc tính của riêng  
nó  
• Ví dụ: một chiếc Ô tô đang đi có thể có màu đen, vận tốc  
60 km/h  
12  
1.3.2 Phương thức  
• Phương thức:  
• Xác định các hoạt động chung mà tất cả các thể hiện của  
lớp có thể thực hiện được.  
• Xác định cách một đối tượng đáp ứng lại một thông điệp  
• Thông thường các phương thức sẽ hoạt động trên  
các thuộc tính và thường làm thay đổi các trạng  
thái của đối tượng.  
• Bất kỳ phương thức nào cũng phải thuộc về một lớp nào  
đó.  
• Ví dụ: Lớp Ô tô có các phương thức  
• Tăng tốc  
• Giảm tốc  
13  
1.4. Lớp vs. Đối tượng  
Lớp  
Đối tượng  
Lớp là mô hình khái niệm, mô tả  
các thực thể  
Đối tượng là sự vật thật, là thực  
thể thực sự  
Lớp như một bản mẫu, định nghĩa Mỗi đối tượng có một lớp xác định  
các thuộc tính và phương thức  
chung của các đối tượng  
dữ liệu (thuộc tính) và hành vi  
(phương thức) của nó.  
Dữ liệu của các đối tượng khác  
nhau là khác nhau  
Một lớp là sự trừu tượng hóa của Đối tượng là một thể hiện  
một tập các đối tượng (instance) của một lớp  
14  
1.4. Lớp vs. Đối tượng (2)  
Đối tượng MyBook  
Lớp BOOK  
Thể hiện: Một đối tượng cụ thể  
Thuộc tính thể hiện: gán giá trị cho các thuộc tính  
của một đối tượng cụ thể  
Phương thức: các  
hành vi đối tượng  
có thể thực hiện  
Thuộc tính: các  
thông tin liên quan  
đến trạng thái  
borrow  
borrow  
Vu Thi Huong  
Giang  
250 pages  
Human  
computer  
interaction  
countPages  
countPages  
15  
2/ Đóng gói  
16  
2.1. Đóng gói (Encapsulation)  
• Là một trong 4 nguyên lý cơ bản của lập trình HĐT.  
• Dữ liệu/thuộc tính và hành vi/phương thức được  
đóng gói trong một lớp.  
Hướng đối tượng  
17  
2.1. Đóng gói (2)  
• Một đối tượng là một thực thể được đóng gói với  
mục đích:  
• Cung cấp tập các dịch vụ nhất định  
• Đối tượng được đóng gói có thể được xem như một hộp  
đen – các công việc bên trong là ẩn so với client  
• Dù thay đổi thiết kế/mã nguồn bên trong nhưng giao  
diện bên ngoài không bị thay đổi theo  
Don’t know how  
it works, but it  
works!  
Input  
Output  
18  
2.1. Đóng gói (3)  
• Sau khi đóng gói, một đối tượng có hai khung nhìn:  
• Bên trong: Chi tiết về các thuộc tính và các phương thức  
của lớp tương ứng với đối tượng  
• Bên ngoài: Các dịch vụ mà một đối tượng có thể cung  
cấp và cách đối tượng đó tương tác với phần còn lại của  
hệ thống  
Client  
Methods  
Data  
19  
2.2 Phạm vi truy cập  
• Phạm vi truy cập xác định khả năng nhìn thấy được  
của một thành phần của chương trình với các  
thành phần khác của chương trình  
• Đối với lớp  
• Phạm vi truy cập có thể được áp dụng cho các thành  
phần của lớp  
• private: chỉ truy cập được từ bên trong lớp đó  
• public: có thể truy cập được tại mọi nơi, từ trong và ngoài lớp  
• Xem thêm phần 3.1.4  
20  
Tải về để xem bản đầy đủ
pdf 45 trang yennguyen 21260 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 3: Trừu tượng hóa và Đóng gói - 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_3_truu_tuong_hoa_va.pdf