18:04
0
Ta có 2 class sau:
class Demo
{
   // Các Method public, private hoặc protected;
    Method_A();
    Method_B();
} // có dấu ; với C++


Ta có 1 class B sẽ kế thừa từ lớp A.

Ngôn ngữ C++:

class B: public/private/protected A
{

};

Sử dụng lại các phương thức Method_A(); Method_B(); của class A bình thường.
Không thể cài đặt lại các hành động các phương thức Method_A(); Method_B(); của class A.
Chỉ có thể cài đặt lại khi các phương thức này là Virtual. (abstract hoặc là Interface).

Ngôn ngữ C#:

class B: A
{

}

Việc kế thừa là public. Cách kế thừa ứng dụng cho tất cả các class(kể cả Interface).
Sử dụng lại các phương thức Method_A(); Method_B(); của class A bình thường. (giống C++)
Có thể cài đặt lại các hành động của Method_A(); Method_B(); bằng cách:
ví dụ: public new Method_A(); public new Method_B();

Có thể cài đặt lại hành động các Method dạng VirtualAbstract.

Ngôn ngữ Java:

class B extends A
{

};

Các kể thừa dùng cho tất cả các class ngoại trừ Interface thì dùng implements.
Sử dụng lại các phương thức Method_A(); Method_B(); của class A bình thường. (giống C++ và C#).
Có thể cài đặt lại các hành động các phương thức Method_A(); Method_B(); của class A. bằng cách viết lại phương thức và cài đặt
Các phương thức trong Java có tính đa hình nên có thể cài đặt lại trực tiếp.
ví dụ: public Method_A(); public Method_B();
Việc cài đặt lại hành động của abstract hay virtual cũng tương tự cài đặt lại bình thường.


Để sử dụng có thể dùng theo dạng:
A user = new B();
hoặc
B temp = new B();
A user = (A) temp;

0 nhận xét:

Đăng nhận xét