Bài giảng cung cấp cho người học các kiến thức: Lập trình hướng thủ tục và hướng đối tượng, khái niệm lớp - Khai báo lớp; cài đặt các phương thức, truy cập đến các thành phần của lớp, cấu tử - Hủy tử,. nội dung chi tiết. | Bài giảng Cấu trúc dữ liệu và giải thuật trong C++ - Bài 3: Cơ bản về lớp trong C++ Bài 3. Cơ bản về lớp trong C++ I. Lập trình hướng thủ tục và hướng đối tượng • Cả hai cách tiếp cận đều thực hiện theo phương pháp tinh chỉnh từng bước (stepwise refinement) • Tiếp cận hướng thủ tục (Function Oriented): – Tập thung vào các hàm và việc phân rã các hàm – Các cấu trúc dữ liệu (ở mức ngôn ngữ lập trình) được định nghĩa sớm. – Các cấu trúc dữ liệu khó có thể thay đổi • Tiếp cận hướng đối tượng (Object Oriented) – Tập thung vào các đối tượng trừu tượng – Các cấu trúc dữ liệu trừu tượng được định nghĩa sớm – Cấu trúc dữ liệu chi tiết mức ngôn ngữ chưa được định nghĩa – Cấu trúc dữ liệu dễ thay đổi hơn Ví dụ • Bài toán: Lập chương trình nhập vào tọa độ các đỉnh của 1 tam giác bất kỳ trong mặt phẳng. Tính diện tích và chu vi của tam giác đó. In kết quả lên màn hình Tiếp cận hướng thủ tục • Xây dựng các hàm – Định nghĩa cấu trúc dữ liệu biểu diễn một tam giác – Nhập dữ liệu – Tính diện tích – Tính chu vi – Xây dựng hàm main() sử dụng các hàm ở trên Định nghĩa cấu trúc dữ liệu và các hàm typedef struct Tamgiac{ float xA, yA, xB,yB, xC, yC; } void Nhap(Tamgiac &t){ ;>; ;>; ;>; } Tiếp cận hướng đối tượng • Xây dựng lớp tam giác class Tamgiac{ private: float xA, yA, xB,yB, xC, yC; public: void Nhap(); float Dientich(); float Chuvi(); }; II. Khái niệm lớp - Khai báo lớp - Lớp là một khái niệm mở rộng của cấu trúc dữ liệu, nó có thể chứa đựng cả dữ liệu và các hàm - Đối tượng (object) là một thể hiện của lớp. Trong lập trình lớp được xem như là một kiểu dữ liệu, đối tượng là các biến class class_name { - class_name : Tên lớp cần tạo access_specifier_1: member1; - access_specifier : là các đặc tả truy nhập (private, protected, public) access_specifier_2: member2; . - member : khai báo các thành phần của lớp (có thể là thuộc tính .