Danh mục

Bài giảng Lập trình C++: Chương 8 - GV. Nguyễn Văn Hùng

Số trang: 30      Loại file: pdf      Dung lượng: 306.10 KB      Lượt xem: 13      Lượt tải: 0    
Thư viện của tui

Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Lập trình C++ - Chương 8: Lớp và đối tượng nhằm cung cấp cho sinh viên cách định nghĩa lớp, khai báo các đối tượng, các loại hàm trong lớp, kiểu của phương thức và các tham số; hàm. Mời bạn đọc cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình C++: Chương 8 - GV. Nguyễn Văn Hùng LẬP TRÌNH C++ (3 Tín chỉ) Gv: Nguyễn Văn Hùng Khoa: Khoa học máy tính Ngôn ngữ lập trình C++ 1/18 CHƯƠNG 8: LỚP VÀ ĐỐI TƯỢNG  Mục tiêu  Cung cấp cho sinh viên cách định nghĩa lớp, khai báo các đối tượng, các loại hàm trong lớp, ...  Nội dung  Định nghĩa lớp  Khai báo đối tượng  Kiểu của phương thức và các tham số  Hàm Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 2/29 Định nghĩa lớp - Một định nghĩa lớp gồm 2 thành phần: phần đầu và phần thân. - Phần đầu lớp chỉ định tên lớp và các lớp cơ sở - Phần thân lớp định nghĩa các thành viên lớp - Có hai loại thành viên: - Dữ liệu thành viên: Có cú pháp của định nghĩa biến và chỉ định các đại diện cho các đối tượng của lớp - Hàm thành viên: Có cú pháp của khai báo hàm và chỉ định các thao tác của lớp Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 3/29 Định nghĩa lớp - Các thành viên lớp được khai báo theo một trong 2 chế độ: - Các thành viên chung: Sử dụng từ khóa public. Có thể được truy xuất bởi tất cả các thành phần sử dụng lớp. - Các thành viên riêng: Sử dụng từ khóa private. Chỉ có thể được truy xuất bởi các thành viên lớp. Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 4/29 Định nghĩa lớp Chú ý: - Trong C++, các khai báo lớp phổ biến là các dữ liệu thành viên được khai báo ở chế độ private; và các hàm thành viên được khai báo ở chế độ public. - Nếu không quy định cụ thể đó là private hay public thì C++ hiểu đó là private. Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 5/29 Định nghĩa lớp - Cú pháp định nghĩa lớp: class Ten_lop { khai báo dữ liệu thành viên của lớp khai báo hàm thành viên của lớp }; Ví dụ: Để định nghĩa một lớp đại diện cho các hình chữ nhật. Phân tích: - Đặt tên lớp là CHUNHAT - Các thuộc tính: Chiều dài d và chiều rộng r - Các phương thức: Nhapdl(), Chuvi(), Dientich() => Lớp CHUNHAT được định nghĩa như sau: Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 6/29 Định nghĩa lớp class CHUNHAT { double d, r; public: void Nhapdl(); void Chuvi() { cout Định nghĩa lớp void CHUNHAT::Nhapdl() { coutd; coutr; } void CHUNHAT::Dientich() { cout Định nghĩa lớp Nhận xét: - Nếu phương thức được định nghĩa trong định nghĩa lớp (hàm thành viên nội tuyến) thì nó được định nghĩa giống như một hàm thông thường - Khi xây dựng các phương thức bên ngoài lớp, cần dùng thêm tên lớp và toán tử phạm vi “::” đặt ngay trước tên phương phức để quy định rõ đây là phương thức của lớp nào. - Giá trị trả về của phương thức có thể có kiểu bất kỳ Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 9/29 Khai báo đối tượng - Lớp sau khi định nghĩa có thể được xem như một kiểu đối tượng và có thể dùng để khai báo các biến, mảng, con trỏ đối tượng. Cú pháp: Tên_lớp Danh sách các biến, mảng hoặc con trỏ; Lúc này, các biến, mảng hay con trỏ được gọi là các đối tượng (thể hiện) của lớp Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 10/29 Khai báo đối tượng Ví dụ: Ta có khai báo CHUNHAT h1, h[5], *cn; - Mỗi đối tượng sau khi khai báo sẽ được cấp phát vùng nhớ riêng để chứa các thuộc tính của chúng. - Không có vùng nhớ riêng để chứa các phương thức cho mỗi đối tượng, các phương thức sẽ được sử dụng chung cho tất cả các đối tượng cùng lớp. Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 11/29 Sử dụng phương thức và thuộc tính của lớp Thuộc tính của đối tượng: • Tên thuộc tính luôn đi kèm với tên đối tượng để xác định đang thao tác với giá trị thuộc tính của đối tượng nào. • Cú pháp: − Tên đối tượng.thuộc tính − Tên con trỏ->thuộc tính − Tên con trỏ[chỉ số].thuộc tính Ví dụ: h1.d; h1.r; ... Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 12/29 Sử dụng phương thức và thuộc tính của lớp Sử dụng phương thức: • Cũng giống như thuộc tính, phương thức cũng luôn đi kèm với tên đối tượng để chỉ rõ phương thức thực hiện trên các thuộc tính của đối tượng nào. • Cú pháp:  Tên đối tượng.phương thức([tham số])  Tên con trỏ->phương thức([tham số])  Tên con trỏ[chỉ số].phương thức([tham số]) Ví dụ: h1.Nhapdl(); h[3].Chuvi(); cn->Dientich()... Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 13/29 Ví dụ void main() { double a, b; CHUNHAT h1, h[3]; h1.Nhapdl(); h1.Chuvi(); h1.Dientich(); cout Con trỏ This Con trỏ this là đối thứ nhất của phương thức. - C++ sử dụng con trỏ đặc biệt this trong các phương thức. Do đó, các thuộc tính được sử dụng trong các phương thức được hiểu là thuộc một đối tượng do con trỏ this trỏ tới. - Khi đó, viết: cin>>d; cin>>r; Được hiểu là: cin>>this->d; cin>>this->r; Ngôn ngữ lập trình C++ Chương 8: Lớp và đối tượng 15/29 Con trỏ This Tham số ứng với đối con trỏ this. - Tham số truyền cho con trỏ this chính là địa chỉ của đối tượng đi kèm với phương thức trong lời gọi phương thức. Chẳng hạn: h1.Nhapdl(); Thực ...

Tài liệu được xem nhiều: