b) Lập trình đôi
3.3.3 Cơ sở của thiết kế hướng đối tượng
Cơ sở của thiết kế hướng đối tượng là các lớp. Lớp là một trừu tượng mô tả cho một nhóm sự vật. Đối tượng của một lớp là một thực thể (cụ thể hóa) của lớp đó. Thiết kế của một lớp bao gồm:
- Cấu trúc dữ liệu (thuộc tính) - Hàm, thủ tục (chức năng)
- Giao diện (cung cấp khả năng trao đổi dữ liệu đối với các lớp khác, về bản chất là các chức năng của đối tượng)
Việc cài đặt các giao diện là một yếu tố quan trọng để đảm bao che dấu cấu trúc dữ liệu. Tức là thiết kế nội tại của đối tượng độc lập với giao diện do đó chúng ta có thể sửa đổi thiết kế mà không sợ ảnh hưởng tới các đối tượng khác.
Các đối tượng trao đổi với nhau bằng cách truyền các thông báo. Tức là một đối tượng yêu cầu một đối tượng khác thực hiện một chức năng nào đó. Thông báo bao gồm: tên đối tượng, tên phương thức, và các tham số.
Vòng đời của một đối tượng khi hệ thống hoạt động như sau:
.) Khởi tạo: hệ thống tạo ra đối tượng bằng cách xác lập vùng dữ liệu đồng thời tự động thực hiện các chức năng liên quan đến khởi tạo đối tượng.
.) Hoạt động: đối tượng nhận các thông báo và thực hiện các chức năng được yêu cầu. .) Phá hủy: hệ thống giải phóng vùng nhớ đã được cấp phát sau khi thực hiện tự động các
thao tác cần thiết để hủy đối tượng.
Nhờ có chức năng khởi tạo và phá hủy được gọi tự động chúng ta có thể tự động hóa được một số công việc và tránh được nhiều sai sót trong lập trình như quên khởi tạo dữ liệu, quên cấp phát hay quên giải phóng vùng nhớ động.
- Sự kế thừa. Kế thừa là một khái niệm quan trọng trong thiết kế hướng đối tượng. Một lớp có thể được định nghĩa dựa trên sự kế thừa một hoặc nhiều lớp đã được định nghĩa. Kế thừa ở đây bao gồm
. Kế thừa cấu trúc dữ liệu . Kế thừa chức năng
Khả năng kế thừa giúp cho rút gọn được chương trình và nâng cao tính tái sử dụng. Một chiến lược chung là trước tiên tạo ra các lớp trừu tượng (để có thể dùng chung) và đối với các bài toán cụ thể tạo ra các lớp kế thừa bằng cách thêm các thông tin đặc thù.