intTypePromotion=1

Bài giảng Lập trình hướng đối tượng - Chương 3: Lớp và đối tượng

Chia sẻ: Cvcxbv Cvcxbv | Ngày: | Loại File: PPTX | Số trang:46

0
80
lượt xem
5
download

Bài giảng Lập trình hướng đối tượng - Chương 3: Lớp và đối tượng

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chương 3 Lớp và đối tượng nằm trong bài giảng Lập trình hướng đối tượng nhằm mục tiêu nêu được bản chất, vai trò của trừu tượng hoá, giải thích về đóng gói và che dấu thông tin, xây dựng lớp, tạo và sử dụng đối tượng.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hướng đối tượng - Chương 3: Lớp và đối tượng

  1. LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG CHƯƠNG 3 LỚP VÀ ĐỐI TƯỢNG
  2. Mục tiêu của bài học n Nêu được bản chất, vai trò của trừu tượng hoá n Giải thích về đóng gói và che dấu thông tin n Xây dựng lớp ¨ Định nghĩa lớp, thực hiện ẩn ¨ Tạo các phương thức, các trường/thuộc tính n Tạo và sử dụng đối tượng ¨ Phương thức khởi tạo ¨ Khai báo và khởi tạo đối tượng ¨ Sử dụng đối tượng
  3. Nội dung 1. Trừu tượng hoá dữ liệu 2. Đóng gói và xây dựng lớp 3. Tạo và sử dụng đối tượng 4. Một số kĩ thuật xây dựng lớp và sử dụng đối tượng
  4. Nội dung 1. Trừu tượng hoá dữ liệu 2. Đóng gói và xây dựng lớp 3. Tạo và sử dụng đối tượng 4. Một số kĩ thuật xây dựng lớp và sử dụng đối tượng
  5. 1.1 Trừu tượng hoá n Giảm thiểu và tinh lọc các chi tiết nhằm tập trung vào một số khái niệm/vấn đề quan tâm tại một thời điểm ¨ “abstraction”- a concept or idea not associated with any specific instance ¨ Ví dụ: các định nghĩa toán h ọc n 2 loại trừu tượng hoá ¨ Trừu tượng hoá điều khiển (control abstraction) ¨ Trừu tượng hoá dữ liệu (data abstraction)
  6. 1.1 Trừu tượng hoá (2) n Trừu tượng hoá điều khiểm: sử dụng các chương trình con (sub program) và các luồng điều khiển (control flow) ¨ Ví dụ: a:=(1+2)*5 n Nếu không có trừu tượng hoá điều khiển thì lập trình viên phải chỉ ra tất cả các thanh ghi, các bước tính toán ở mức nhị phân n Trừu tượng hoá dữ liệu: xử lý dữ liệu theo các cách khác nhau ¨ Ví dụ: kiểu dữ liệu n Sự tách biệt rõ ràng giữa các thuộc tính trừu tượng của kiểu d ữ liệu và các chi tiết thực thi cụ thể của kiểu dữ liệu đó
  7. 1.2 Trừu tượng hoá dữ liệu trong OOP n Đối tương trong thực tế phức tạp n Cần đơn giản hoá, bỏ qua những chi tiết ko cần thiết n Chỉ “trích bút” lấy những thông tin liên quan, thông tin quan tâm, quan trọng với bài toán
  8. Thuộc tính: Màu sắc abstraction Kiểu dáng Hãng sx info Kiểu động cơ Phương thức: Khởi động chạy Tăng tốc
  9. 1.2 Trừu trượng hoá dữ liệu trong OOP n Any model that include the most important, essential, or distinguishing aspects of something while suppressing or ignoring less important immaterial, or diversionary details. The result of removing distinctions so as emphasize commonalties  Cho phép các nhà quản lý các bài toán ph ức tạp bằng cách tập trung vào các đặc trưng quan trọng của một thực thể nhằm phân biệt nó với các loại thực thể khác
  10. 1.2 Trừu tượng hoá dữ liệu trong oop n Trừu tượng hoá là một cách nhìn hoặc cách biểu diễn chr bao gồm các thuộc tính liên quan trong một ngữ cảnh nào đó n Tập hợp các thể hiện của các thực thể thành các nhóm có chung các thuộc tính gọi là lớp
  11. 1.3 Lớp & đối tượng n Lớp là mô hình khái n Đối tượng là sự vật niệm mô tả các thực thật, là thực thể thực thể sự n Lớp như một bản n Đối tượng là một thể mẫu, định nghĩa các hiện (instance) của thuộc tính và phương một lớp, dữ liệu của thức chung của các các đối tượng khác đối tượng nhau là khác nhau n Một lớp là sự trừu n Mỗi đối tượng có một tượng hoá của một lớp xác định dữ liệu tập các đối tượng và hành vi của nó
  12. Biểu diễn lớp trong UML Professor n Lớp (class) được biểu -name -employeeID diễn bằng một hình -Status chữ nhật cụ thể với 3 -discipline thành phần + submitFinalGrade() + acceptCourseOffering() ¨ Tên lớp + SetStatus() +teachClass () ¨ Cấu trúc (thuộc tính) ¨ Hành vi (thao tác)
  13. Thuộc tính (attribute là gì) n Một thuộc tính là một đặc tính được đặt tên của một lớp. ¨ Một lớp có thể không có thuộc tính nào hoặc có số lượng thuộc tính bất kỳ. Student -name -address -studentID attributes -dateOfBirth
  14. Nội dung 1. Trừu tượng hoá dữ liệu 2. Đóng gói và xây dựng lớp 3. Tạo và sử dụng đối tượng 4. Một số kĩ thuật xây dựng lớp và sử dụng đối tượng
  15. 2.1 Đóng gói (Encapsulation) • Một đối tượng có hai khung nhìn: Methods • Bên trong: Chi tiết về các thuộc tính Data 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 các phần còn lại của hệ thống
  16. 2.1 Đóng gói n Dữ liệu/ thuộc tính và hành vi/phương thức được đóng gói trong một lớp  Encapsulation Professor -name -employeeID -Status -discipline + submitFinalGrade() + acceptCourseOffering() + SetStatus() +teachClass ()
  17. 2.1 Đóng gói n Một đối tượng là một thực thể được đóng gói, cung cáp tập các dịch vụ nhất định n Một đối tượng được đóng góicó thể được xem như là một hộp đem – 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 thay đổi theo Input Don’t know Output how it works, but it work
  18. 2.1 Xây dựng lớp n Thông tin cần thiết để định nghĩa một lớp ¨ Tên (Name) n Tên lớp nên mô tả đối tượng trong thế giới thật BankAccount n Tên lớp nên là số ít, ngắn gọn, và xác định -owner: String rõ ràng cho sự trừu tượng hoá -balance:double ¨ Danh sách các thuộc tính +debit(double):boolean +credit(double) n Các đặc điểm cần lấy ra khi trừu tượng hoá ¨ Danh sách các thông điệp/phương thức n Các thông ddieepjj mà đối tượng đó có thể nhận được
  19. 2.2 Xây dựng lớp n Các lớp được nhóm lại thành package ¨ Package bao gồm một tập hợp các lớp có quan hệ logic với nhau, ¨ Package được coi như các thư mục, là nơi tổ chức các lớp, giúp xác định vị trí dễ dàng và sử dụng các lớp một cách phù hợp n Ví dụ: ¨ Một số package có sẵn của Java: java.lang; javax.swing; java.io; ¨ Package có thể do ta tự đặt n Cách nhau bằng dâu “.” n Quy ước sử dụng ký tự thường để đặt tên package n Ví dụ: package oop.k13.httt
  20. 2.2.1 Khai báo lớp n Cú pháp khai báo: package tenpackage; Chi_thi_truy_cap class TenLop { // than lớp } n chi_thi_truy_cap: ¨ public: lớp có thể được truy cập từ bất cứ đâu, kể cả bên ngoài package chứa lớp đó ¨ private: Lớp chỉ có thể truy cập trong phạm vi lớp đó ¨ Không có (mặc định): lớp có thể được truy cập từ bên trong package chứa lớp đó
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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