Да, на этот вопрос можно ответить очень хорошо, и я думаю, что это хороший вопрос для интервью; если вы можете ответить на это, это показывает, что вы понимаете одну из фундаментальных концепций объектно-ориентированного программирования.
Наследование в объектно-ориентированном программировании означает нечто совершенно иное, чем биологическое наследование. Наследование в ОО означает специализацию и подразумевает, что является отношением: экземпляр подкласса является специализированным видом экземпляра его суперкласса.
Например, предположим, у вас есть class Cat extends Animal
. Кошка является Животным.
Иногда люди используют слова «Родитель» и «Ребенок» в примерах наследования классов, где они имеют class Parent
и class Child extends Parent
. Это неправильно: ребенок не является (специализированным видом) родителем.