Trong chương 3 của bài giảng Lập trình hướng đối tượng, người học sẽ tìm hiểu những nội dung sau đây: Khái niệm lớp và đối tượng, toán tử gán, phương thức thiết lập (constructor), phương thức huỷ (destructor), con trỏ this, lớp template. . | Chương 3 Lớp và đối tượng TRẦN MINH THÁI Email: minhthai@ Website: Cập nhật: 08 tháng 02 năm 2015 Nội dung Khái niệm lớp và đối tượng Toán tử gán Phương thức thiết lập (constructor) Phương thức huỷ (destructor) Con trỏ this Lớp template 2 Lớp đối tượng là gì? (1/2) Lớp là khái niệm trung tâm của OOP, là sự mở rộng của khái niệm cấu trúc (struct) Ngoài thành phần dữ liệu (như cấu trúc), lớp còn chứa các thành phần hàm, còn gọi là phương thức (method) hay hàm thành viên (member function) Lớp đối tượng là gì? (2/2) Lớp được xem như một kiểu dữ liệu (kiểu đối tượng) Lớp giúp lập trình viên: Trừu tượng hóa dữ liệu Đóng gói và ẩn thông tin Khai báo lớp (1/2) Cú pháp class class_name { : member_list }; Với member_list là đặc tả các thành viên Theo quy ước, tên lớp bắt đầu bởi ký tự C Khai báo lớp (2/2) Thành viên của lớp gồm Thành viên dữ liệu (data member) thuộc tính Hàm thành viên (member function) phương thức class CTime //Lớp thời gian { private: int hour, minute, second; public: void SetTime(int h, int m, int s); void Print(); }; Thuộc tính Phương thức Khai báo lớp: thuộc tính (1/5) Là dữ liệu khai báo trong lớp Cú pháp giống như khai báo biến Có thể là một đối tượng nhưng phải khác đối tượng của lớp đang định nghĩa (con trỏ hay tham chiếu: OK) Không thể vừa khai báo, vừa khởi tạo Khai báo lớp: thuộc tính (2/5) class CTime //Lớp thời gian { private: int hour = 1; // Error int minute, second; public: void SetTime(int h, int m, int s); void Print(); }; Khai báo lớp: phương thức (3/5) Hàm khai báo trong lớp (còn gọi là giao diện) Có thể truy cập các thành viên dữ liệu và hàm thành viên khác Cài đặt trong lớp hàm inline Khai báo lớp: phương thức (4/5) Cú pháp type_name class_name :: method_name ( parameter_list ) { } Hàm inline thêm từ khóa inline Khai báo lớp: cài đặt phương thức (5/5) class CMyTime { private: int hour, minute, second; public: void SetTime(int h, int m, int s); void Print() { cout: member_list }; Với member_list là đặc tả các thành viên Theo quy ước, tên lớp bắt đầu bởi ký tự C Khai báo lớp (2/2) Thành viên của lớp gồm Thành viên dữ liệu (data member) thuộc tính Hàm thành viên (member function) phương thức class CTime //Lớp thời