Sự thừa kế (inheritance) Che phủ (override) Sự dẩn xuất (derivation) M ối quan hệ giữa các đối tượng: cây các lớp

Một phần của tài liệu Tài liệu Lập trình trí tuệ nhân tạo Prolog pptx (Trang 76 - 77)

quan hệ giữa các đối tượng: cây các lớp

Giữa các lớp có mối quan hệ thừa kế, trong đó một lớp A có thể là lớp cha (parent class) của một lớp B, và khi đó, lớp B là lớp con (subclass) của lớp A.

Trong trường hợp lớp B là lớp con của một lớp A, thì ngòai những thành phần riêng của mình, lớp B sẽ có thêm một số thành phần khác được thừa kế từ lớp A. Đối với Smalltalk, lớp B sẽđược thừa kế tất cả các thành phần của lớp A.

Khi trên lớp B định nghĩa một thành phần nào đó đã tồn tại trên lớp A, thì thành phần được định nghĩa mới này sẽ che đi thành phần được thừa kế từ lớp A, xem như B không thừa kế thành phần này từ lớp A. Chúng ta gọi đây là sự che phủ (override).

Một lớp B được dẫn xuất từ lớp A khi nó là lớp con của lớp A hoặc là lớp con của một lớp được dẫn xuất từ lớp A.

Trên ngôn ngữ Smalltalk đã định nghĩa sẳn một lớp đối tượng căn bản gọi là lớp Object, tất cả các lớp khác trên ngôn ngữđều được dẫn xuất từ lớp Object này. Do vậy tập hợp tất cả các lớp của ngôn ngữ sẽ tạo thành một cây, trong đó mỗi nút là một lớp, mối quan hệ cha - con giữa các nút sẽ tương ứng với mối quan hệ cha - con của các lớp, và nút gốc của cây tương ứng với lớp Object. Tất cả các đối tượng do lập trình viên tạo ra đều tương ứng với một lớp nào đó trên cây này. Các lập trình viên có thể thêm bớt, thay đổi nội dung của cây trên trong lúc thiết kế cũng như lúc thực thi chương trình.

Một phần của tài liệu Tài liệu Lập trình trí tuệ nhân tạo Prolog pptx (Trang 76 - 77)