SLIDE1

Saturday, January 31, 2015

PHẠM VI LỚP VÀ TRUY CẬP CÁC THÀNH VIÊN LỚP C++

PHẠM VI LỚP VÀ TRUY CẬP CÁC THÀNH VIÊN LỚP C++
  • Các thành viên dữ liệu của một lớp (các biến khai báo trong định nghĩa lớp) và các hàm thành viên (các hàm khai báo trong định nghĩa lớp) thuộc vào phạm vi của lớp. 
  • Trong một phạm vi lớp, các thành viên của lớp được truy cập ngay lập tức bởi tất cả các hàm thành viên của lớp đó và có thể được tham chiếu một cách dễ dàng bởi tên. 
  • Bên ngoài một phạm vi lớp, các thành viên của lớp được tham chiếu thông qua hoặc một tên đối tượng, một tham chiếu đến một đối tượng, hoặc một con trỏ tới đối tượng.
  •  Các hàm thành viên của lớp có thể được đa năng hóa (overload), nhưng chỉ bởi các hàm thành viên khác của lớp.
  •  Để đa năng hóa một hàm thành viên, đơn giản cung cấp trong định nghĩa lớp một prototype cho mỗi phiên bản của hàm đa năng hóa, và cung cấp một định nghĩa hàm riêng biệt cho mỗi phiên bản của hàm.
  •  Các hàm thành viên có phạm vi hàm trong một lớp – các biến định nghĩa trong một hàm thành viên chỉ được biết tới hàm đó. 
  • Nếu một hàm thành viên định nghĩa một biến cùng tên với tên một biến trong phạm vi lớp, biến phạm vi lớp được dấu bởi biến phạm vi hàm bên trong phạm vi hàm. 
  • Như thế một biến bị dấu có thể được truy cập thông qua toán tử định phạm vi.
  •  Các toán tử được sử dụng để truy cập các thành viên của lớp được đồng nhất với các toán tử sử dụng để truy cập các thành viên của cấu trúc. 
  • Toán tử lựa chọn thành viên dấu chấm (.) được kết hợp với một tên của đối tượng hay với một tham chiếu tới một đối tượng để truy cập các thành viên của đối tượng. 
  • Toán tử lựa chọn thành viên mũi tên (->)được kết hợp với một con trỏ trỏ tới một truy cập để truy cập các thành viên của đối tượng. 
  • Ví dụ 3.4: Chương trình sau minh họa việc truy cập các thành viên của một lớp với các toán tử lựa chọn thành viên

1: #include <iostream.h> 
2:  
3: class Count 
4: {
5:     public:
6:     int X;
7:     void Print()
8:     {
9:         cout << X << endl; 
10:     } 
11: }; 
12: 
13: int main() 
14: { 
15:     Count Counter, //Tạo đối tượng Counter 
16:     *CounterPtr = &Counter, //Con trỏ trỏ tới Counter 
17:     &CounterRef = Counter; //Tham chiếu tới Counter 
18: 
19:     cout << "Assign7 to X and Print using the object's name: "; 
20:     Counter.X = 7; //Gán 7 cho thành viên dữ liệu X 
21:     Counter.Print(); //Gọi hàm thành viên Print 
22: 
23:     cout << "Assign 8 to X and Print using a reference: "; 
24:     CounterRef.X = 8; //Gán 8 cho thành viên dữ liệu X 
25:     CounterRef.Print(); //Gọi hàm thành viên Print 
26: 
27:     cout << "Assign 10 to X and Print using a pointer: "; 
28:     CounterPtr->X = 10; // Gán 10 cho thành viên dữ liệu X 
29:     CounterPtr->Print(); //Gọi hàm thành viên Print 
30:     return 0; 
31: }

Related Posts:

  • [oop c++] Kế thừa - định nghĩa, cú pháp, sử dụng Kế thừa  là một đặc điểm của ngôn ngữ dùng để biểu diễn mối quan hệ đặc biệt hóa – tổng quát hóa giữa các lớp. Các lớp được trừu tượng hóa và được tổ chức thành một sơ đồ phân cấp lớp. Sự kế thừa là một mức cao hơn của … Read More
  • [oop c++] Các nguyên tắc xây dựng lớp Hình thành lớp: Khi ta nghĩ đến “nó” như một khái niệm riêng lẻ ->Xây dựng lớp biểu diễn khái niệm đó. Lớp là biểu diễn cụ thể của một khái niệm vì vậy tên lớp luôn là danh từ. Các thuộc tính của lớp là các thành phần dữ… Read More
  • [oop c++] Thành viên tĩnh – static memberTrong C, static xuất hiện trước dữ liệu được khai báo trong một hàm nào đó thì giá trị của dữ liệu đó vẫn được lưu lại như một biến toàn cục. Trong C++, nếu static xuất hiện trước một dữ liệu hoặc một phương thức của lớp thì … Read More
  • [oop c++] hàm bạn, lớp bạn (friend function) Hàm bạn, lớp bạn (Friend function) Giả sử có lớp Vector, lớp Matrix Cần viết hàm nhân Vector với một Matrix Hàm nhân: Không thể thuộc lớp Vector Không thể thuộc lớp Matrix Không thể tự do Giải pháp: Xây dựng hàm truy cập d… Read More
  • [oop c++] Quan hệ giữa các lớp đối tượng Giữa các lớp đối tượng có những loại quan hệ sau: Quan hệ một một (1-1) Quan hệ một nhiều (1-n) Quan hệ nhiều nhiều (n-n) Quan hệ đặc biệt hóa, tổng quát hóa Quan hệ một một (1-1) Khái niệm: Hai lớp đối tượng được gọi là… Read More