Чем наследование в Java отличается от наследования в реальном мире? - PullRequest
3 голосов
/ 12 марта 2012

Я получил этот вопрос в интервью. Под наследством реального мира интервьюер подразумевал, что такие вещи, как выходные, наследуют некоторое богатство, некоторые характеристики родителей и т. Д.,

У меня такое ощущение, что этот вопрос можно обсудить и он не является хорошим вопросом для интервью.

Можно ли ответить на этот вопрос хорошо?

Ответы [ 5 ]

10 голосов
/ 12 марта 2012

Да, на этот вопрос можно ответить очень хорошо, и я думаю, что это хороший вопрос для интервью; если вы можете ответить на это, это показывает, что вы понимаете одну из фундаментальных концепций объектно-ориентированного программирования.

Наследование в объектно-ориентированном программировании означает нечто совершенно иное, чем биологическое наследование. Наследование в ОО означает специализацию и подразумевает, что является отношением: экземпляр подкласса является специализированным видом экземпляра его суперкласса.

Например, предположим, у вас есть class Cat extends Animal. Кошка является Животным.

Иногда люди используют слова «Родитель» и «Ребенок» в примерах наследования классов, где они имеют class Parent и class Child extends Parent. Это неправильно: ребенок не является (специализированным видом) родителем.

1 голос
/ 12 марта 2012

В реальном мире допускается множественное наследование. Например, среди животных дети распространяют гены обоих родителей. Однако в Java у ребенка может быть только один родитель.

1 голос
/ 12 марта 2012

Это очень расплывчатый вопрос.Единственное, что я могу вспомнить с верхней части моей головы, что Java наследует только от одного из родителей в то время как в реальном наследство Жизнь может иметь более one.It спорно, хотя, как люди используют интерфейсы в качестве обходного.

0 голосов
/ 12 марта 2012

В Java наследование - это свойство, с помощью которого один класс расширяет или наследует свойства другого класса. Итак, если вы возьмете пример наследования в реальной жизни, сын наследует смесь качеств ДНК от своего отца и матери. Поэтому, если вы спрашиваете о разнице между реальным наследованием и наследованием Java, я обнаружил, что основное различие заключается в том, что вы не можете наследовать множественный класс наследования в Java, тогда как множественное наследование возможно в реальной жизни.

Иначе, вы также можете подумать, что Наследование богатства и свойства Реальной Жизни - это Многоуровневое Наследование в Java, где вы наследуете свойство суперкласса из подкласса и позже передаете его на другом уровне.

0 голосов
/ 12 марта 2012

В моей культуре дети наследуют свою фамилию (для вас, Java-гиков, фамилия похожа на название пакета) от своего отца (Для фанатов-Java, отец подобен особому виду суперкласса и матери. это еще один особый вид суперкласса. У каждого ребенка ровно один отец и одна мать.)

В java у класса может быть любое имя пакета (в пределах стандартных ограничений), и есть один суперкласс и несколько (0, 1 или более суперинтерфейсов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...