Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Nối tiếp phần 1, phần 2 giáo trình trình bày các nội dung sau đây: Toán tử tải bội, kế thừa, khuôn hình. Ở các chương này chủ yếu tập trung vào ngôn ngữ lập trình C++ để minh họa cho việc lập trình theo cách tiếp cận hướng đối tượng. giáo trình hữu ích này. | Chương 3: Lớp Chương này trình bày những vấn đề sau đây: Định nghĩa lớp Tạo lập đối tượng Truy nhập đến các thành phần của lớp Con trỏ đối tượng Con trỏ this Hàm bạn Dữ liệu thành phần tĩnh, hàm thành phần tĩnh Hàm tạo, hàm hủy Hàm tạo sao chép Lớp là khái niệm trung tâm của lập trình hướng đối tượng, nó là sự mở rộng của các khái niệm cấu trúc (struct) của C. Ngoài các thành phần dữ liệu, lớp còn chứa các thành phần hàm, còn gọi là phương thức (method) hoặc hàm thành viên (member function). Lớp có thể xem như một kiểu dữ liệu các biến, mảng đối tượng. Từ một lớp đ• định nghĩa, có thể tạo ra nhiều đối tượng khác nhau, mỗi đối tượng có vùng nhớ riêng. Chương này sẽ trình bày cách định nghĩa lớp, cách xây dựng phương thức, giải thích về phạm vi truy nhập, sử dụng các thành phần của lớp, cách khai báo biến, mảng cấu trúc, lời gọi tới các phương thức . 3.1. Định nghĩa lớp Cú pháp: Lớp được định nghĩa theo mẫu : class tên_lớp { private: [Khai báo các thuộc tính] [Định nghĩa các hàm thành phần (phương thức)] public : [Khai báo các thuộc tính] [Định nghĩa các hàm thành phần (phương thức)] }; Thuộc tính của lớp được gọi là dữ liệu thành phần và hàm được gọi là phương thức hoặc hàm thành viên. Thuộc tính và hàm được gọi chung là các thành phần của lớp. Các thành phần của lớp được tổ chức thành hai vùng: vùng sở hữu riêng (private) và vùng dùng chung (public) để quy định phạm vi sử dụng của các thành phần. Nếu không quy định cụ thể (không dùng các từ khóa private và public) thì C++ hiểu đó là private. Các thành phần private chỉ được sử dụng bên trong lớp (trong thân của các hàm thành phần). Các thành phần public được phép sử dụng ở cả bên trong và bên ngoài lớp. Các hàm không phải là hàm thành phần của lớp thì không được phép sử dụng các thành phần này. Khai báo các thuộc tính của lớp: được thực hiện y như việc khai báo biến. Thuộc tính của lớp không thể có kiểu chính của lớp đó, nhưng có thể là kiểu con trỏ của lớp này, Ví dụ: class A { A x; //Không cho phép, vì x .