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

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

5
Как виртуальное наследование решает «ромбовидную» (множественное наследование) неоднозначность?
class A { public: void eat(){ cout<<"A";} }; class B: virtual public A { public: void eat(){ cout<<"B";} }; class C: virtual public A { public: void eat(){ cout<<"C";} }; class D: public B,C { public: void eat(){ cout<<"D";} }; int main(){ A *a = new D(); a->eat(); } Я …

4
Пользовательские классы ошибок Ruby: наследование атрибута сообщения
Я не могу найти много информации о пользовательских классах исключений. Что я знаю Вы можете объявить свой собственный класс ошибок и позволить ему наследовать от него StandardError, поэтому он может быть rescued: class MyCustomError < StandardError end Это позволяет поднять его, используя: raise MyCustomError, "A message" а позже получите это …

9
Наследование комментариев для C # (на самом деле любой язык)
Допустим, у меня есть этот интерфейс public interface IFoo { ///<summary> /// Foo method ///</summary> void Foo(); ///<summary> /// Bar method ///</summary> void Bar(); ///<summary> /// Situation normal ///</summary> void Snafu(); } И этот класс public class Foo : IFoo { public void Foo() { ... } public void Bar() …

10
Почему C ++ не допускает унаследованную дружбу?
Почему дружба по крайней мере необязательно наследуется в C ++? Я понимаю, что транзитивность и рефлексивность запрещены по очевидным причинам (я говорю это только для того, чтобы избежать простых ответов на часто задаваемые вопросы), но отсутствие чего-то в этом роде virtual friend class Foo;меня озадачивает. Кто-нибудь знает историческую подоплеку этого …

3
Как я могу динамически создавать производные классы из базового класса
Например, у меня есть следующий базовый класс: class BaseClass(object): def __init__(self, classtype): self._type = classtype Из этого класса я получил несколько других классов, например class TestClass(BaseClass): def __init__(self): super(TestClass, self).__init__('Test') class SpecialClass(BaseClass): def __init__(self): super(TestClass, self).__init__('Special') Есть ли хороший питонический способ динамического создания этих классов с помощью вызова функции, которая …

4
Метод наследования и инициализации в Python
Я новичок в питоне. Я не могу понять наследование и __init__(). class Num: def __init__(self,num): self.n1 = num class Num2(Num): def show(self): print self.n1 mynumber = Num2(8) mynumber.show() РЕЗУЛЬТАТ: 8 Хорошо. Но я заменяю Num2на class Num2(Num): def __init__(self,num): self.n2 = num*2 def show(self): print self.n1,self.n2 РЕЗУЛЬТАТ: Error. Num2 has …

9
Получение имени дочернего класса в родительском классе (статический контекст)
Я создаю библиотеку ORM с учетом повторного использования и простоты; все идет нормально, за исключением того, что я застрял из-за дурацкого ограничения наследования. Обратите внимание на приведенный ниже код: class BaseModel { /* * Return an instance of a Model from the database. */ static public function get (/* varargs …

7
Как я могу получить имя класса из статического вызова в расширенном классе PHP?
У меня два класса: Actionи MyAction. Последний объявлен как: class MyAction extends Action {/* some methods here */} Все, что мне нужно, это метод в Actionклассе (только в нем, потому что будет много унаследованных классов, и я не хочу реализовывать этот метод во всех из них), который вернет имя класса …
93 php  oop  inheritance 

2
Функция с тем же именем, но другой подписью в производном классе
У меня есть функция с тем же именем, но с другой сигнатурой в базовом и производном классах. Когда я пытаюсь использовать функцию базового класса в другом классе, который наследуется от производного, я получаю сообщение об ошибке. См. Следующий код: class A { public: void foo(string s){}; }; class B : …

2
Наследование Python: TypeError: object .__ init __ () не принимает параметров
Я получаю такую ​​ошибку: TypeError: object.__init__() takes no parameters при запуске своего кода я действительно не вижу, что я здесь делаю не так: class IRCReplyModule(object): activated=True moduleHandlerResultList=None moduleHandlerCommandlist=None modulename="" def __init__(self,modulename): self.modulename = modulename class SimpleHelloWorld(IRCReplyModule): def __init__(self): super(IRCReplyModule,self).__init__('hello world')

5
Нужно ли ВСЕ виртуальные функции реализовывать в производных классах?
Это может показаться простым вопросом, но я нигде не могу найти ответа. Предположим, у меня есть следующее: class Abstract { public: virtual void foo() = 0; virtual void bar(); } class Derived : Abstract { public: virtual void foo(); } Это нормально, что класс Derived не реализует функцию bar ()? …
91 c++  inheritance 

12
Динамическое связывание Java и переопределение методов
Вчера у меня было двухчасовое собеседование по телефону по техническим вопросам (которое я прошел, у-у-у!), Но я полностью не ответил на следующий вопрос, касающийся динамического связывания в Java. И это вдвойне озадачивает, потому что я учил этой концепции студентов, когда был ТА несколько лет назад, поэтому перспектива того, что я …

3
Когда использовать val или def в трейтах Scala?
Я просматривал эффективные слайды scala, и на слайде 10 упоминается, что никогда не следует использовать valв a traitдля абстрактных элементов и использовать defвместо этого. На слайде не упоминается подробно, почему использование аннотации valв a traitявляется анти-шаблоном. Я был бы признателен, если бы кто-нибудь мог объяснить лучшие практики использования val vs …

10
Ошибка Java: неявный суперконструктор не определен для конструктора по умолчанию
У меня есть простой код Java, который по своей структуре похож на этот: abstract public class BaseClass { String someString; public BaseClass(String someString) { this.someString = someString; } abstract public String getName(); } public class ACSubClass extends BaseClass { public ASubClass(String someString) { super(someString); } public String getName() { return …

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

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