Cách mô phỏng siêu từ khóa trong C++

Cach Mo Phong Sieu Tu Khoa Trong C



Một số ngôn ngữ lập trình dựa trên đối tượng có từ khóa “siêu”, cho phép một lớp con gọi các hàm và thành viên của lớp cơ sở hoặc lớp cha. Một số ngôn ngữ lập trình xác định cách sử dụng cụ thể từ khóa “siêu”. Nhưng trong trường hợp của C++, từ khóa super không được sử dụng giống như trong Java và Python. Trong hướng dẫn này, chúng ta sẽ nghiên cứu và minh họa việc mô phỏng siêu từ khóa trong C++.

Cách mô phỏng siêu từ khóa trong C++

Từ khóa được gọi là “siêu” không được xác định trước trong trình biên dịch C++. Kế thừa và ghi đè chức năng được sử dụng để phát triển một lớp con nhận các thành viên và phương thức của lớp cha của nó. Chỉ cần cung cấp mã định danh của “siêu lớp” và thành viên hoặc phương thức bạn muốn truy cập bằng toán tử (::).







cú pháp

Bạn có thể truy cập một phương thức trong lớp cha có tên là “parent_class” có tên như “parent_function()” trong lớp con bằng cách sử dụng cú pháp được hiển thị bên dưới:



parent_class::parent_function ( ) ;



Ví dụ

Sử dụng C++ để mô phỏng chức năng siêu từ khóa để truy cập các thuộc tính của lớp cha, hãy sử dụng toán tử phân giải phạm vi (::).





Toán tử phân giải phạm vi (::) có thể được sử dụng để lấy các thành viên của lớp cha bất cứ khi nào một lớp kế thừa từ nó. Hãy xem đoạn mã sau đây làm ví dụ:

#include
sử dụng không gian tên std;

lớp cơ sở_Class {
công cộng:
void baseChức năng ( ) {
cout << 'Đây là outout của baseFunction từ lớp cơ sở' << kết thúc;
}
} ;
lớp derieved_Class: cơ sở công cộng_Class {
công cộng:
void dFunction ( ) {
base_Class::baseFunction ( ) ;
cout << 'Đây là lớp dẫn xuất truy cập hàm cơ sở từ lớp cơ sở' << kết thúc;
}
} ;
int chính ( ) {
dẫn xuất_Class d;
d.dChức năng ( ) ;
trở lại 0 ;
}


Chương trình trên có một hàm từ lớp cơ sở hoặc lớp cha baseFunction(). Một lớp dẫn xuất khác được định nghĩa đang truy cập baseFunction() trong dFunction(). Phương thức chính trước tiên là tạo một thể hiện của lớp dẫn xuất và gọi hàm dFunction() đang in đầu ra của cả baseFunction() và dFunction().



Phần kết luận

Mặc dù từ khóa “siêu” không trực tiếp tồn tại trong C++, hành vi của nó có thể được bắt chước bằng cách kết hợp tính kế thừa và tính năng ghi đè chức năng. Chúng ta có thể gọi và sử dụng thành công các phương thức hoặc thành viên của lớp cha bằng cách gọi các chức năng của lớp cha trước khi chuyển sang triển khai lớp con. Bài đăng này cũng cung cấp một ví dụ về mã C++ để bạn hiểu rõ hơn.