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

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

1400
Почему бы не наследовать от List <T>?

При планировании своих программ я часто начинаю с такой цепочки мыслей: Футбольная команда - это просто список футболистов. Поэтому я должен представить это с: var football_team = new List<FootballPlayer>(); Порядок в этом списке представляет порядок, в котором игроки перечислены в списке. Но...

1250
Каковы различия между type () и isinstance ()?

Каковы различия между этими двумя фрагментами кода? Использование type(): import types if type(a) is types.DictType: do_something() if type(b) in types.StringTypes: do_something_else() Использование isinstance(): if isinstance(a, dict): do_something() if isinstance(b, str) or isinstance(b,...

1246
Класс Python наследует объект

Есть ли какая-либо причина для объявления класса наследовать object? Я только что нашел код, который делает это, и я не могу найти вескую причину, почему. class MyClass(object): # class code...

1028
Каковы нюансы объема прототипного / прототипического наследования в AngularJS?

Страница « Область действия API» гласит: Область может наследоваться от родительской области. На странице Scope Guide Developer говорится: Область (прототипически) наследует свойства от своей родительской области. Итак, всегда ли дочерняя область прототипически наследуется от родительской области?...

956
Что такое миксин и почему они полезны?

В « Программировании Python » Марк Лутц упоминает «миксины». Я из C / C ++ / C # фона, и я не слышал этот термин раньше. Что такое миксин? Читая между строк этого примера (который я связал, потому что он довольно длинный), я предполагаю, что это случай использования множественного наследования для...

889
Как Python super () работает с множественным наследованием?

Я довольно новичок в объектно-ориентированном программировании на Python, и у меня возникают проблемы с пониманием этой super()функции (новые классы стилей), особенно когда речь идет о множественном наследовании. Например, если у вас есть что-то вроде: class First(object): def __init__(self): print...

785
__proto__ VS. прототип в JavaScript

Этот рисунок снова показывает, что у каждого объекта есть прототип. Функция-конструктор Foo также имеет свой собственный, __proto__который является Function.prototype, и который, в свою очередь, также __proto__снова ссылается через свое свойство на Object.prototype. Таким образом, повторяю,...

771
Является ли List <Dog> подклассом List <Animal>? Почему дженерики Java не являются неявно полиморфными?

Я немного озадачен тем, как дженерики Java обрабатывают наследование / полиморфизм. Предположим следующую иерархию - Животное (родитель) Собака - Кот (Дети) Итак, предположим, у меня есть метод doSomething(List<Animal> animals). По всем правилам наследования и полиморфизма я бы предположил,...

608
Вызовите метод родительского класса из дочернего класса?

При создании простой иерархии объектов в Python я хотел бы иметь возможность вызывать методы родительского класса из производного класса. В Perl и Java есть ключевое слово для этого ( super). В Perl я мог бы сделать это: package Foo; sub frotz { return "Bamf"; } package Bar; @ISA = qw(Foo); sub...

604
Как вызвать функцию родительского класса из производной функции класса?

Как мне вызвать родительскую функцию из производного класса, используя C ++? Например, у меня есть класс с именем parentи класс, childкоторый является производным от parent. Внутри каждого класса есть printфункция. В определении функции печати ребенка я хотел бы вызвать функцию печати родителей....

564
Что «супер» делает в Python?

Какая разница между: class Child(SomeBaseClass): def __init__(self): super(Child, self).__init__() а также: class Child(SomeBaseClass): def __init__(self): SomeBaseClass.__init__(self) Я видел, superчто довольно часто используется в классах с единственным наследованием. Я могу понять, почему вы...

469
Как мне объяснить разницу между интерфейсом и абстрактным классом?

В одном из моих интервью меня попросили объяснить разницу между интерфейсом и классом Abstract . Вот мой ответ: Методы интерфейса Java неявно абстрактны и не могут иметь реализации. Абстрактный класс Java может иметь методы экземпляров, которые реализуют поведение по умолчанию. Переменные,...

427
Когда использовать интерфейс вместо абстрактного класса и наоборот?

Это может быть общий вопрос ООП. Я хотел сделать общее сравнение между интерфейсом и абстрактным классом на основе их использования. Когда нужно использовать интерфейс, а когда - абстрактный класс...