oop review - Ôn tập hướng Đối tượng
TRANSCRIPT
Chương trình Hướng đối tượng
Chương trình là tập các đối tượng
Các ₫ối tượng có tính ₫ộc lập cao
Không thể tạo ra dữ liệu toàn cục của chương trình.
3
Đối tượng
Là nguyên tử cấu thành ứng dụng.
Gồm 2 loại thành phần chính yếu :
�Tập các tác vụ (operation): mỗi tác vụ thực hiện 1 chức năng nào đó.
�Tập các thuộc tính dữ liệu (attribute): mỗi thuộc tính có kiểu dữ liệu và giá trị cụ thể.
5
Đối tượng
Là một thực thể phần mềm bao bọc các thuộc tính và phương thức liên quan.
Một đối tượng cụ thể được gọi là một thể hiện(instance).
6
Lớp
Lớp (class) là một thiết kế (blueprint) hay một mẫu ban đầu (prototype) định nghĩa các thuộc tính và các phương thức chung cho tất cả các đối tượng của cùng một loại nào đó.
Một đối tượng là một thể hiện cụ thể của một lớp.
7
Thuộc tính
Trình bày trạng thái của đối tượng.
Các thuộc tính nắm giữ các giá trị dữ liệu trong một đối tượng, chúng định nghĩa một đối tượng đặc thù.
8
Phương thức
Thực thi các hoạt động của đối tượng.
Là nhân tố làm thay đổi các thuộc tính của đối tượng.
9
Thông điệp
Là một lời yêu cầu một hoạt động
Được truyền khi một đối tượng gọi một hay nhiều phương thức của đối tượng khác để yêu cầu thông tin
Một thông điệp gồm có:
� Đối tượng nhận thông điệp
� Tên của phương thức thực hiện
ƒ Các tham số mà phương thức cần
10
Tính bao đóng (Encapsulation)
Che giấu chi tiết của đối tượng
Đảm bảo sự toàn vẹn của đối tượng
Chỉ có các phương thức nội tại của đối tượng cho phép thay đổi trạng thái của nó.
11
Tính thừa kế (Inheritance)
Các phương thức và thuộc tính được định nghĩa trong một lớp có thể được sử dụng lại bởi lớp khác.
Lớp cha – Lớp con:
Lớp cha (superclass) có phương thức, thuộc tính được thừa hưởng bởi lớp khác.
Lớp con (subclass) là lớp thừa hưởng một vài đặc tính chung của lớp cha và thêm vào những đặc tính riêng khác.
12
Tính đa hình (Polymorphism)
Phương thức cùng tên có thể được thực hiện khác nhau đối với các đối tượng/lớp khác nhau.
13
Lớp trừu tượng (Abstract class)
Là một class cha cho tất cả các class có cùng bản chất
Bản chất ở đây được hiểu là kiểu, loại, nhiệm vụ của class
Quan hệ với class: A is a B.
A là class thừa kế (extend) của B.
B là một lớp trừu tượng
14
Interface (Giao diện)
Là một chức năng mà bạn có thể thêm và bất kì class nào
Một chức năng bao gồm một hoặc nhiều phương thức
Quan hệ với class: A can do b.
A là class hiện thực (implement) b.
b là một chức năng của A.
15
- Interface: Barkable, Runable, Flyable,
Swimable.
- Abstract class: Animal và các sub
class: Bolt, AngryBird và Nemo.
- Abstract class : Machine và các sub
class: McQueen, Siddeley.
16