Результаты поиска по запросу "inheritance"
Я действительно не понимаю, «поскольку это увеличивает вероятность того, что кто-то изменит что-то, что нарушит ваш код». Разве это не то же самое с общественным наследством? и если код нарушается из-за изменения защищенного члена, не является ли это ошибкой базового класса, а не производным?
ое наследство против композиции. У меня есть небольшая путаница, когда использовать каждый. Поскольку частные наследственные печати, в некотором роде, цепочка наследования, даны: class A { private: int z; protected: int y; public: int x; }; ...
когда придет время для создания вершинного буфера
у сделать что-то вроде этого: template <typename T:public Vertex> addTri( T v1, T v2, T v3 ) { // Take v1.pos, v2.pos, v3.pos and create a geometric repn.. Triangle tri( v1.pos, v2.pos, v3.pos ) ; // all vertices will // have to have a .pos ...
Подход ветвей служит скорее контрпримером, чем что-либо, что можно было бы сделать на самом деле.
лкиваюсь с ситуацией, когда мне нужно получить доступ к дочерним переменным-членам внутри родительского класса. Я знаю, что это противоречит принципам ОО, но мне приходится иметь дело со сценарием, в котором сотни классов наследуются от одного, и ...
абстрактные классы и интерфейсы лучшие практики в Java
Итак, у вас есть интерфейс и абстрактный класс, который реализует подмножество методов в интерфейсе. У вас также есть некоторые классы, которые наследуют абстрактный класс и дают реализации методов, которые абстрактный класс не дает. Так какова ...
указатель.
овольно простой вопрос, но я все еще не уверен: Если у меня есть класс, который будет создаваться миллионы раз - желательно ли не выводить его из какого-то другого класса? Другими словами, несет ли наследование некоторую стоимость (с точки ...
@ Воо - согласен, я просто указываю на возможные сценарии. То, что он хочет, не возможно.
озвонить в Super :: printThree из Super :: Super ()? В приведенном ниже примере я вызываю Test :: printThree. class Super { Super() { printThree(); // I want Super::printThree here! } void printThree() { System.out.println("three"); } } class ...
Вы можете использовать черту реализации, как это делают классы коллекции, которая параметризована конкретным типом. Например, что-то вроде:
но я создал неизменяемый класс, поддерживающий такие операции, как +, - и т. Д., Который возвращает новый экземпляр этого класса при его изменении. Я хотел создать подкласс этого класса, чтобы добавить немного состояния и функциональности, но ...
Конструктор вызывает иерархию во время наследования
од public class Parent { public Parent(int i) { Console.WriteLine("parent"); } } public class Child : Parent { public Child(int i) { Console.WriteLine("child"); } }Я получаю ошибку: Родитель не содержит конструктор, который принимает 0 ...
Ответ очень старый, поэтому, возможно, scala изменил это поведение, но для меня сейчас это выглядит так, как будто это неправильно. Линеаризация должна быть: Реализация, Абстракция, Черта, ...
е работает: trait Trait class Class extends Trait with TraitКомпилятор жалуется: <console>:8: error: trait Trait is inherited twice class Class extends Trait with Trait ^ <console>:8: error: trait Trait is inherited twice class Class extends ...
вызовите методы интерфейса через ссылку на интерфейс. Это контракт, а НЕ способность вызывать методы интерфейса без предварительного приведения к интерфейсу. Конечно, вы обычно должны раскрывать методы интерфейса, не требуя также приведения, но это не является ни техническим требованием, ни всегда логическим требованием.
я есть класс, который наследует интерфейс. Метод члена интерфейса реализован в моем классе без модификатора доступа (поэтому по умолчанию он является закрытым). Я получаю сообщение об ошибке "не могу реализовать элемент интерфейса, потому что он ...