2010-01-16 41 views

Trả lời

13

Khi sử dụng thừa kế, lớp kế thừa được gọi là lớp cơ sở và lớp kế thừa được gọi là lớp dẫn xuất .

+1

Thay đổi hoàn toàn văn bản của câu trả lời của bạn để phản chiếu câu trả lời của người dùng khác không được coi là hình thức tốt ở đây trên SO. –

+0

@Neil: Ngược lại. Chỉnh sửa câu trả lời của bạn để làm cho nó là câu trả lời tốt nhất có thể là những gì SO là tất cả về. Tất nhiên là đạo văn không đẹp, nhưng tôi thấy bản chỉnh sửa dựa trên câu trả lời của bạn, không phải là bản sao trắng trợn, đặc biệt là câu trả lời của bạn là C++ cụ thể (không cần phải làm cụ thể, nhưng bạn đã làm.) –

+0

@Vinko Có một nhu cầu cần phải làm cho nó cụ thể - các ngôn ngữ khác nhau sử dụng các thuật ngữ khác nhau. Ví dụ, một lập trình viên Smalltalk sẽ nói về superclass và subclass chứ không phải là base và origin. –

5

Thuật ngữ có nguồn gốc lớp được ưa thích C++ cách nói cho một lớp kế thừa từ một lớp học, mà trong C++ cách nói được gọi là một lớp cơ sở . Vì vậy, trong C++ các thuật ngữ bạn hỏi về giống hệt nhau.

2

Câu trả lời của Neil làm tôi bối rối một chút và vì vậy tôi đã kiểm tra một số public sources.

Xem xét một Base ClassSub Lớp (SubClass extends BaseClass trong thuật ngữ Java), hơn

  • các Sub Lớp xuất phát Base Class (Sub Class là một lớp có nguồn gốc của Lớp cơ sở) và
  • Loại phụ được thừa kế từ Lớp cơ sở (Base Class là a/the kế thừa lớp của Class Sub)

Vì vậy, theo ý kiến ​​của tôi cả về xác định mối quan hệ tương tự giữa các lớp học nhưng từ quan điểm khác nhau.

+0

Lớp con hạn thường không được sử dụng trong C++ - Tôi không biết về Java - và OP không hỏi về nó. –

+2

Nhưng anh ấy không yêu cầu C + + ... –

0

Inheritance ngữ bởi Bertran Meyer (Object-Oriented Software Xây dựng, p.464):

công ước cơ bản và thuật ngữ

Các từ ngữ dưới đây sẽ hữu ích ngoài việc “thừa kế” và "cha mẹ".

Một hậu duệ của một lớp C là bất kỳ lớp được thừa kế trực tiếp hoặc gián tiếp từ C, bao gồm C riêng của mình. (Chính thức: hoặc C hay, đệ quy, một hậu duệ của một người thừa kế của C.) Một tổ tiên của C là một lớp MộtC là một hậu duệ của Một .

Trong tài liệu, bạn cũng sẽ gặp phải cụm từ "phân lớp" và "siêu lớp", nhưng chúng tôi sẽ tránh xa chúng vì chúng không rõ ràng; đôi khi "phân lớp" có nghĩa là số người thừa kế (hậu duệ trực tiếp), đôi khi nó được sử dụng theo nghĩa tổng quát hơn của con cháu thích hợp và không phải lúc nào cũng rõ ràng. Ngoài ra, chúng tôi sẽ thấy rằng "tập hợp con" ý nghĩa của từ này không phải lúc nào cũng hợp lý.

0

có lẽ thú vị, nếu bạn ghi đè một phương pháp, trong Delphi bạn viết:

inherited; // so "inherited" is the base class 

thay vì

base.BaseImplementation(); // C# 
Các vấn đề liên quan