Professional Documents
Culture Documents
Tóm Tắt Môn Lập Trình Hướng Đối Tượng Với C
Tóm Tắt Môn Lập Trình Hướng Đối Tượng Với C
Chương 3: Lớp
Lớp là đối tượng trung tâm của lập trình hướng đối tượng, là sự mở rộng
của cấu trúc bằng cách bổ sung vào nó các phương thức.
Định nghĩa lớp:
class{
phạm_vi: //khai báo dữ liệu thành phần
phạm_vi: //khai báo hàm (phương thức) thành phần
};
Trong đó phạm_vi có thể là private, protected, public.
Nếu phạm_vi là private thì thành phần đó chỉ được truy xuất từ các
thành viên khác của lớp hoặc các thành viên bè bạn. Nếu là protected thì
phạm vi truy xuất cũng giống như private thêm vào đó là chúng có thể được
truy xuất bởi các thành viên của lớp dẫn xuất. Nếu phạm_vi là public thì
thành phần đó có thể được truy xuất ở bất kỳ đâu trong chương trình.
Việc định nghĩa hàm (phương thức) thành phần giống như việc xây dựng
hàm đã nói ở chương hai: có thể nạp chồng hàm, có thể tải bội các phép
toán…. Nếu định nghĩa hàm bên trong định nghĩa lớp thì bộ dịch hiểu đó là
các hàm inline. Đối và kiểu của hàm có thể là các kiểu cơ bản hoặc kiểu lớp.
Đặc biệt, đối thức nhất của hàm luôn là con trỏ this.
So với struct trong C++, cả class và struct đều cho phép khai báo cả dữ
liệu và phương thức. Đối với class, phạm_vi mặc định là private còn đối với
struct thì mặc định là public.
Nếu một lớp cơ sở A xuất hiện nhiều hơn một lần trong các lớp cơ sở
trung gian của một lớp dẫn xuất, thì ta khai báo lớp A là lớp cơ sở ảo
(virtual) cho các lớp cơ sở trung gian.
Chương 7: Template
Xây dựng hàm mẫu, lớp mẫu không phụ thuộc vào kiểu dữ liệu