inheritance- все статьи тега ➜ страница 2


Разница между новым и переопределением

интересно, в чем разница между следующим: Случай 1: Базовый Класс public void DoIt(); Случай 1: унаследованный класс public new void DoIt(); Случай 2: Базовый Класс public virtual void DoIt(); случай 2: унаследованный класс public override void DoIt(); оба случая 1 и 2, похоже, имеют одинаковый эффект на основе тестов, которые я выполнил. Есть ли разница, или предпочтительный способ? ...

В чем основное различие между наследованием и полиморфизмом?

Я был представлен с этим вопросом в конце модуля открытой книги экзамена сегодня и оказался потерянным. Я читал Head first Javaи оба определения казались совершенно одинаковыми. Мне просто было интересно, что главное различие было для моего собственного ума. Я знаю, что есть ряд подобных вопросов, но ни один из них я не видел, которые дают окончательный ответ. ...

Наследование версии проекта Maven - нужно ли указывать родительскую версию?

у меня есть два проекта: Родительский проект: A, подпроект: B A / pom.XML-код: <groupId>com.dummy.bla</groupId> <artifactId>parent</artifactId> <version>0.1-SNAPSHOT</version> <packaging>pom</packaging> и в Б / пом.xml, у меня есть: <parent> <groupId>com.dummy.bla</groupId> <artifactId>parent</artifactId> <version>0.1-SNAPSHOT</version> </parent> <grou ...

Наследование JavaScript: объект.создать против нового

в JavaScript в чем разница между этими двумя примерами: обязательное условие: function SomeBaseClass(){ } SomeBaseClass.prototype = { doThis : function(){ }, doThat : function(){ } } пример наследования объекта using.создать: function MyClass(){ } MyClass.prototype = Object.create(SomeBaseClass.prototype); пример наследования B с использованием нового ключевого слова function MyClass(){ } MyClass.prototype = new SomeBaseClass(); оба примера, кажется, делают то же са ...

В Python, как я могу указать, что я переопределяю метод?

в Java, например,@Override аннотация не только обеспечивает проверку времени компиляции переопределения, но и обеспечивает отличный самодокументированный код. Я просто ищу документацию (хотя если это индикатор для какой-то проверки, например pylint, это бонус). Я могу добавить комментарий или docstring где-нибудь, но каков идиоматический способ указать переопределение в Python? ...

Может ли интерфейс расширить несколько интерфейсов в Java?

может ли интерфейс расширить несколько интерфейсов в Java? Этот код выглядит допустимым в моей среде IDE и компилируется: interface Foo extends Runnable, Set, Comparator<String> { } но я слышал, что множественное наследование не допускается в Java. Почему возникает исключение для интерфейсов? ...

Порядок выполнения конструктора C#

В C#, когда вы делаете Class(Type param1, Type param2) : base(param1) сначала выполняется конструктор класса, а затем вызывается конструктор суперкласса или сначала вызывается базовый конструктор? ...

Доступ к частным унаследованным полям через отражение в Java

Я нашел способ получить наследуемые члены через class.getDeclaredFields(); и доступ к частным членам через class.getFields() Но я ищу частные унаследованные поля. Как я могу этого достичь? ...

классическое наследование против прототипного наследования в JavaScript

я погуглил так много ссылок и не могу получить хорошее представление о разнице между классическим наследованием и прототипным наследованием? я узнал некоторые вещи из них, но я все еще запутался в понятиях. преимущества прототипного наследования по классика? http://aaditmshah.github.io/why-prototypal-inheritance-matters/ классическое наследование // Shape - superclass function Shape() { this.x = 0; this.y = 0; } //superclass method Shape.prototype.move = function(x, y) { this.x += ...

Наследуются ли статические поля?

когда статические члены наследуются, они статичны для всей иерархии или только для этого класса, т. е.: class SomeClass { public: SomeClass(){total++;} static int total; }; class SomeDerivedClass: public SomeClass { public: SomeDerivedClass(){total++;} }; int main() { SomeClass A; SomeClass B; SomeDerivedClass C; return 0; } всего будет 3 во всех трех случаях, или это будет 2 для SomeClass и 1 SomeDerivedClass? ...

Сериализация XML и наследуемые типы

исходя из моего предыдущего вопроса я работаю на получение моей модели объекта для сериализации в XML. Но теперь я столкнулся с проблемой (quelle surprise!). проблема у меня есть то, что у меня есть коллекция, которая имеет абстрактный тип базового класса, который заполняется конкретными производными типами. Я подумал, что было бы неплохо просто добавить атрибуты XML ко всем задействованным классам, и все будет персиковым. К сожалению, это не случае! Итак, я немного покопался в Google, и тепе ...

Когда я должен использовать интерфейсы вместо абстрактных классов? [дубликат]

этот вопрос уже есть ответ здесь: Абстрактный класс vs интерфейс в Java 14 ответов мне было интересно, когда я должен использовать интерфейсы. давайте подумаем о следующем: public abstract class Vehicle { abstract float getSpeed(); } и : public interface IVehicle { float getSpeed(); } Я могу легко реализовать оба они имеют одинаковую функциональность... НО Я также могу добавить некоторые пере ...

Скала случае наследования классов

У меня есть приложение, основанное на Squeryl. Я определяю свои модели как классы case, в основном потому, что мне удобно иметь методы копирования. У меня есть две модели, которые неразрывно связаны. Поля одинаковы, многие операции являются общими, и они должны храниться в одной таблице БД. но существует некоторое поведение, которое имеет смысл только в одном из двух случаев, или что имеет смысл в обоих случаях, но отличается. до сих пор я использовал только один класс case с флагом, который о ...

Переопределение сохраненного свойства в Swift

Я заметил, что компилятор не позволяет мне переопределить сохраненное свойство с другим сохраненным значением (что кажется странным): class Jedi { var lightSaberColor = "Blue" } class Sith: Jedi { override var lightSaberColor = "Red" // Cannot override with a stored property lightSaberColor } однако мне разрешено делать это с помощью вычисляемого свойства: class Jedi { let lightSaberColor = "Blue" } class Sith: Jedi { override var lightSaberColor : String{return "Red"} } ...

В чем смысл наследования в Python?

предположим, что у вас есть следующая ситуация #include <iostream> class Animal { public: virtual void speak() = 0; }; class Dog : public Animal { void speak() { std::cout << "woff!" <<std::endl; } }; class Cat : public Animal { void speak() { std::cout << "meow!" <<std::endl; } }; void makeSpeak(Animal &a) { a.speak(); } int main() { Dog d; Cat c; makeSpeak(d); makeSpeak(c); } как вы можете видеть, makeSpeak представляет ...

Как я могу инициализировать переменные-члены базового класса в конструкторе производного класса?

почему я не могу сделать это? class A { public: int a, b; }; class B : public A { B() : A(), a(0), b(0) { } }; ...

Переопределение констант класса vs свойства

Я хотел бы лучше понять, почему в приведенном ниже сценарии существует разница в том, как константы класса наследуются по сравнению с переменными экземпляра. <?php class ParentClass { const TEST = "ONE"; protected $test = "ONE"; public function showTest(){ echo self::TEST; echo $this->test; } } class ChildClass extends ParentClass { const TEST = "TWO"; protected $test = "TWO"; public function myTest(){ echo self::TEST; echo $t ...

Наследование: 'A' является недоступной базой 'B'

$ cat inheritance.cpp #include <iostream> using namespace std; class A { }; class B : private A { }; int main() { A* ab = new B; } $ $ g++ inheritance.cpp inheritance.cpp: In function 'int main()': inheritance.cpp:9: error: 'A' is an inaccessible base of 'B' $ Я просто не понимаю эту ошибку. как я понимаю, и как в этом уроке подтверждает, что private наследование должно только изменить, как члены class B видны внешнему миру. Я думаю, что частный спецификатор делает больше, чем ...

Как вызвать метод init базового класса из дочернего класса? [дубликат]

этот вопрос уже есть ответ здесь: как вызвать конструктор супер? 5 ответов Если у меня есть класс Python, как: class BaseClass(object): #code and the init function of the base class и затем я определяю дочерний класс, такой как: class ChildClass(BaseClass): #here I want to call the init function of the base class Если функция init базового класса принимает некоторые аргументы, которые я принимаю их ...

Расширение Реагирует.компоненты js

одна из вещей, которые я ценю больше всего о позвоночнике.js - это то, как простое и элегантное наследование работает. Я начинаю разбираться с React, и не могу найти ничего в react, что напоминает этот основной код var Vehicle = Backbone.View.extend({ methodA: function() { // ... } methodB: function() { // ... } methodC: function() { // ... } }); var Airplane = Vehicle.extend({ methodC: function() { // Overwrite methodC from super } }); в react мы у миксины, и исп ...