Pytania otagowane jako inheritance

Dziedziczenie to system programowania obiektowego, który umożliwia obiektom obsługę operacji zdefiniowanych przez typy przednie bez konieczności podawania własnej definicji. Jest to główny wektor polimorfizmu w programowaniu obiektowym.

5
W jaki sposób dziedziczenie wirtualne rozwiązuje niejednoznaczność „diamentu” (dziedziczenie wielokrotne)?
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(); } Rozumiem …

6
Nie można użyć generowania klucza kolumny tożsamości z <union-subclass> (TABLE_PER_CLASS)
com.something.SuperClass: @Entity @Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) public abstract class SuperClass implements Serializable { private static final long serialVersionUID = -695503064509648117L; long confirmationCode; @Id @GeneratedValue(strategy = GenerationType.AUTO) // Causes exception!!! public long getConfirmationCode() { return confirmationCode; } public void setConfirmationCode(long confirmationCode) { this.confirmationCode = confirmationCode; } } com.something.SubClass: @Entity public abstract class …

4
Niestandardowe klasy błędów Rubiego: dziedziczenie atrybutu komunikatu
Nie mogę znaleźć wielu informacji o niestandardowych klasach wyjątków. Co ja wiem Możesz zadeklarować swoją niestandardową klasę błędu i pozwolić jej dziedziczyć z StandardError, więc może być rescued: class MyCustomError &lt; StandardError end Pozwala to podnieść go za pomocą: raise MyCustomError, "A message" a później otrzymaj tę wiadomość podczas ratowania …

10
Dlaczego C ++ nie pozwala na odziedziczoną przyjaźń?
Dlaczego przyjaźń nie jest przynajmniej opcjonalnie dziedziczona w C ++? Rozumiem, że przechodniość i refleksyjność są zabronione z oczywistych powodów (mówię to tylko po to, by odrzucić proste odpowiedzi na FAQ), ale brak czegoś w rodzaju virtual friend class Foo;zagadek mnie zaskakuje. Czy ktoś zna historyczne tło tej decyzji? Czy …

3
Jak mogę dynamicznie tworzyć klasy pochodne z klasy bazowej
Na przykład mam następującą klasę bazową: class BaseClass(object): def __init__(self, classtype): self._type = classtype Z tej klasy wyprowadzam kilka innych klas, np class TestClass(BaseClass): def __init__(self): super(TestClass, self).__init__('Test') class SpecialClass(BaseClass): def __init__(self): super(TestClass, self).__init__('Special') Czy istnieje ładny, pythonowy sposób dynamicznego tworzenia tych klas przez wywołanie funkcji, które umieszcza nową klasę …






12
Dynamiczne wiązanie Java i przesłanianie metod
Wczoraj odbyłem dwugodzinny telefoniczny wywiad techniczny (który zdałem, woohoo!), Ale całkowicie stłumiłem następujące pytanie dotyczące dynamicznego wiązania w Javie. Jest to podwójnie zagadkowe, ponieważ uczyłem tego pojęcia studentom, kiedy byłem asystentem kilka lat temu, więc perspektywa, którą podałem im dezinformację, jest trochę niepokojąca ... Oto problem, który mi dano: /* …

3
Kiedy używać val lub def w cechach Scala?
Przeglądałem efektywne slajdy scala i na slajdzie 10 wspomina się, że nigdy nie używaj valich traitjako abstrakcyjnych członków i używaj defzamiast tego. Slajd nie wspomina szczegółowo, dlaczego użycie abstrakcji valw a traitjest anty-wzorcem. Byłbym wdzięczny, gdyby ktoś mógł wyjaśnić najlepsze praktyki dotyczące używania wartości val vs def w cechach metod …

2
Dziedziczenie w Pythonie: TypeError: object .__ init __ () nie przyjmuje żadnych parametrów
Otrzymuję ten błąd: TypeError: object.__init__() takes no parameters podczas uruchamiania kodu nie widzę jednak, co robię źle: 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')

10
Błąd Java: Niejawny superkonstruktor jest niezdefiniowany dla domyślnego konstruktora
Mam prosty kod Java, który wygląda podobnie do tego w swojej strukturze: 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 "name …

4
Dziedziczenie klas przypadków w skali Scala
Mam aplikację opartą na Squeryl. Moje modele definiuję jako klasy przypadków, głównie dlatego, że uważam za wygodne metody kopiowania. Mam dwa modele, które są ze sobą ściśle powiązane. Pola są takie same, wiele operacji jest wspólnych i mają być przechowywane w tej samej tabeli DB. Ale jest pewne zachowanie, które …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.