intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình hướng đối tượng – Bài 03: Trừu tượng hóa và đóng gói

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:45

25
lượt xem
3
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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. Những nội dung chính được trình bày trong chương này gồm có: Tìm hiểu bản chất, vai trò của trừu tượng hóa; tìm hiểu về đóng gói; tìm hiểu cách xây dựng lớp, gói. Mời các bạn cùng tham khảo bài giảng để biết thêm nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hướng đối tượng – Bài 03: Trừu tượng hóa và đóng gói

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2