Bài giảng Lập trình hướng đối tượng Lớp và đối tượng với các nội dung: cú pháp khai báo lớp, định nghĩa hàm thành phần của lớp, khai báo và tạo lập đối tượng, phạm vi truy xuất, phương thức thiết lập – Constructor, phương thức hủy bỏ – Destructor, phương thức truy vấn, cvập nhật, thành viên tĩnh – static member.
LỚP VÀ ĐỐI TƯỢNG Khoa Công nghệ phần mềm CuuDuongThanCong.com https://fb.com/tailieudientucntt Nội dung Cú pháp khai báo lớp Định nghĩa hàm thành phần lớp Khai báo tạo lập đối tượng Phạm vi truy xuất Phương thức thiết lập – Constructor Phương thức hủy bỏ – Destructor Phương thức Truy vấn, Cập nhật Thành viên tĩnh – static member 29/02/2016 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Lớp C++ Một lớp bao gồm thành phần liệu (thuộc tính) phương thức (hàm thành phần) Lớp C++ thực chất kiểu liệu người sử dụng định nghĩa Trong C++, dùng từ khóa class để điểm bắt đầu lớp cài đặt 29/02/2016 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Lớp đối tượng Lớp mô tả trừu tượng nhóm đối tượng chất, ngược lại đối tượng thể cụ thể cho mơ tả trừu tượng 29/02/2016 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Cú pháp khai báo lớp class { //Thành phần liệu //Thành phần xử lý }; 29/02/2016 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Cú pháp khai báo lớp class { private: protected: public: }; 29/02/2016 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Cú pháp khai báo lớp Header class class_name { Access_Control_label: members; (data & code) Access_Control_label : members; (data & code) class Rectangle { private: int width; int length; public: void set(int w, int l); int area(); }; }; 29/02/2016 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Các thành phần lớp Thuộc tính: Các thuộc tính khai báo giống khai báo biến C Phương thức: Các phương thức khai báo giống khai báo hàm C Có hai cách định nghĩa thi hành phương thức Định nghĩa thi hành lớp Định nghĩa thi hành lớp 29/02/2016 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Cơ chế tạo lập lớp Xác định thuộc tính (dữ liệu) Những mà ta biết đối tượng – giống struct Xác định phương thức (hành vi) Những mà đối tượng làm Xác định quyền truy xuất 29/02/2016 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Định nghĩa hàm thành phần Cú pháp định nghĩa hàm thành phần bên khai báo lớp: :: () { } Ví dụ: void point::display() { //…… } 29/02/2016 10 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Thành viên tĩnh – static member Trong C, static xuất trước liệu khai báo hàm giá trị liệu lưu lại biến toàn cục Trong C++, static xuất trước liệu phương thức lớp giá trị lưu lại có ý nghĩa cho đối tượng khác lớp Các thành viên static public, private protected 29/02/2016 51 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Thành viên tĩnh – static member Đối với class, static dùng để khai báo thành viên liệu dùng chung cho thể lớp: Một tồn suốt trình chạy chương trình Dùng chung cho tất thể lớp Bất kể lớp 29/02/2016 52 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ class Rectangle { private: int width; int length; static int count; public: void set(int w, int l); int area(); } 29/02/2016 Rectangle r1; Rectangle r2; Rectangle r3; count r1 r2 width length width length r3 width length 53 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ Đếm số đối tượng MyClass: class MyClass{ public: MyClass(); ~MyClass(); void printCount(); private: static int count; }; 29/02/2016 54 Lập trình hướng đối tượng CuuDuongThanCong.com https://fb.com/tailieudientucntt Ví dụ int MyClass::count = 0; MyClass::MyClass(){ this count++; } MyClass::~MyClass(){ this count ; } void MyClass::printCount(){ cout