Вопросы с тегом «inheritance»

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

17
В чем основное различие между наследованием и полиморфизмом?
Сегодня мне поставили этот вопрос в конце экзамена по открытой книге модуля, и я потерял себя. Я читал, Head first Javaи оба определения казались абсолютно одинаковыми. Мне просто интересно, какова ГЛАВНАЯ разница для моего собственного разума. Я знаю, что есть ряд подобных вопросов, но ни один из них, которые я …


7
Почему я должен объявлять виртуальный деструктор для абстрактного класса в C ++?
Я знаю, что это хорошая практика - объявлять виртуальные деструкторы для базовых классов в C ++, но всегда ли важно объявлять virtualдеструкторы даже для абстрактных классов, которые функционируют как интерфейсы? Пожалуйста, предоставьте некоторые причины и примеры, почему.

8
Чем __proto__ отличается от constructor.prototype?
function Gadget(name, color) { this.name = name; this.color = color; } Gadget.prototype.rating = 3 var newtoy = new Gadget("webcam", "black") newtoy.constructor.prototype.constructor.prototype.constructor.prototype Всегда возвращает объект с рейтингом = 3. Но если я сделаю следующее: newtoy.__proto__.__proto__.__proto__ Цепочка заканчивается возвращением null. Также в Internet Explorer, как я могу проверить нулевое значение, если нет …


11
Как расширить / наследовать компоненты?
Я хотел бы создать расширения для некоторых компонентов, уже развернутых в Angular 2, без необходимости переписывать их почти полностью, поскольку базовый компонент может претерпеть изменения, и хотелось бы, чтобы эти изменения также были отражены в его производных компонентах. Я создал этот простой пример, чтобы попытаться лучше объяснить мои вопросы: Со …


2
C ++ наследование - недоступная база?
Кажется, я не могу использовать базовый класс в качестве параметра функции, не испортил ли я свое наследование? У меня есть следующее в моей главной: int some_ftn(Foo *f) { /* some code */ }; Bar b; some_ftn(&b); И класс Bar наследуется от Foo таким образом: class Bar : Foo { public: …
157 c++  inheritance 

9
Почему методы суперкласса __init__ не вызываются автоматически?
Почему разработчики Python решили, что __init__()методы подклассов не вызывают автоматически __init__()методы своих суперклассов, как в некоторых других языках? Действительно ли Pythonic и рекомендуемая идиома похожи на следующее? class Superclass(object): def __init__(self): print 'Do something' class Subclass(Superclass): def __init__(self): super(Subclass, self).__init__() print 'Do something else'


6
iOS разница между isKindOfClass и isMemberOfClass
В чем разница между isKindOfClass:(Class)aClassиisMemberOfClass:(Class)aClass функции? Я знаю, что это что-то маленькое, одно глобальное, а другое - точное совпадение классов, но мне нужно, чтобы кто-то уточнил, что именно, пожалуйста. В Свифт isKind(of aClass: AnyClass)и isMember(of aClass: AnyClass).

12
Наследование против агрегации [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

14
Унаследованы ли статические методы в Java?
Я читал «Руководство программиста по сертификации Java ™ SCJP » Халида Могала . В главе о наследовании объясняется, что Наследование членов тесно связано с их заявленной доступностью. Если член суперкласса доступен по своему простому имени в подклассе (без использования какого-либо дополнительного синтаксиса, такого как super), этот член считается унаследованным Также …
149 java  inheritance  static 

5
Ошибка типа: модуль .__ init __ () принимает не более 2 аргументов (3 дано)
Я определил класс в файле с именем Object.py. Когда я пытаюсь наследовать от этого класса в другом файле, вызов конструктора вызывает исключение: TypeError: module.__init__() takes at most 2 arguments (3 given) Это мой код: import Object class Visitor(Object): pass instance = Visitor() # this line throws the exception Что я …

13
Во время выполнения найдите все классы в приложении Java, которые расширяют базовый класс
Я хочу сделать что-то вроде этого: List<Animal> animals = new ArrayList<Animal>(); for( Class c: list_of_all_classes_available_to_my_app() ) if (c is Animal) animals.add( new c() ); Итак, я хочу посмотреть на все классы во вселенной моего приложения, и когда я найду тот, который происходит от Animal, я хочу создать новый объект этого …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.