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.
Jak mogę uczynić „perfekcyjną” podklasę dyktku, jak to możliwe? Ostatecznym celem jest prosty dyktando, w którym klawisze są pisane małymi literami. Wydawałoby się, że powinien istnieć niewielki zestaw prymitywów, które mogę zastąpić, aby to zadziałało, ale według wszystkich moich badań i prób wydaje się, że tak nie jest: Jeśli zastąpię …
W JavaScript każdy obiekt jest jednocześnie instancją i klasą. Aby wykonać dziedziczenie, możesz użyć dowolnej instancji obiektu jako prototypu. W Pythonie, C ++ itp. Istnieją klasy i instancje jako osobne pojęcia. Aby wykonać dziedziczenie, musisz użyć klasy podstawowej, aby utworzyć nową klasę, której można następnie użyć do utworzenia instancji pochodnych. …
Gdyby poniższe klasy nie były szablonami, po prostu mógłbym je mieć xw derivedklasie. Jednak z poniższym kodzie I trzeba użytku this->x. Czemu? template <typename T> class base { protected: int x; }; template <typename T> class derived : public base<T> { public: int f() { return this->x; } }; int …
W ramach modułu kontroler może dziedziczyć właściwości z zewnętrznego kontrolera: var app = angular.module('angularjs-starter', []); var ParentCtrl = function ($scope, $location) { }; app.controller('ChildCtrl', function($scope, $injector) { $injector.invoke(ParentCtrl, this, {$scope: $scope}); }); Przykład: Dead link : http://blog.omkarpatil.com/2013/02/controller-inheritance-in-angularjs.html Czy kontroler wewnątrz modułu może dziedziczyć od rodzeństwa? var app = angular.module('angularjs-starter', []); …
Zastanawiasz się, jaka jest różnica między następującymi: Przypadek 1: klasa podstawowa public void DoIt(); Przypadek 1: Dziedziczona klasa public new void DoIt(); Przypadek 2: klasa podstawowa public virtual void DoIt(); Przypadek 2: Dziedziczona klasa public override void DoIt(); Zarówno przypadek 1, jak i 2 wydają się mieć ten sam efekt …
Mam błąd, którego nie mogę zrozumieć. Masz jakieś pojęcie, co jest nie tak z moim przykładowym kodem? class B: def meth(self, arg): print arg class C(B): def meth(self, arg): super(C, self).meth(arg) print C().meth(1) Otrzymałem przykładowy kod testowy z pomocą wbudowanej metody „super”. Oto błąd: Traceback (most recent call last): File …
Ok, to jest naprawdę trudne do przyznania się, ale w tej chwili mam silną pokusę, aby odziedziczyć std::vector. Potrzebuję około 10 niestandardowych algorytmów dla wektora i chcę, aby były one bezpośrednio elementami wektora. Ale oczywiście chcę też mieć resztę std::vectorinterfejsu. Cóż, moim pierwszym pomysłem, jako obywatela przestrzegającego prawa, było mieć …
Mam dwa projekty: Projekt nadrzędny: A, Podprojekt: B A / pom.xml: <groupId>com.dummy.bla</groupId> <artifactId>parent</artifactId> <version>0.1-SNAPSHOT</version> <packaging>pom</packaging> A w B / pom.xml mam: <parent> <groupId>com.dummy.bla</groupId> <artifactId>parent</artifactId> <version>0.1-SNAPSHOT</version> </parent> <groupId>com.dummy.bla.sub</groupId> <artifactId>kid</artifactId> Chcę, aby B odziedziczył wersję po rodzicu, więc jedynym miejscem w moim przypadku, które muszę podać, 0.1-SNAPSHOTjest A/pom.xml. Ale jeśli usunę <version>0.1-SNAPSHOT</version>spod …
Chciałbym przetestować, czy klasa dziedziczy po innej klasie, ale wydaje się, że nie istnieje na to metoda. class A end class B < A end B.is_a? A => false B.superclass == A => true Trywialna implementacja tego, czego chcę, to: class Class def is_subclass_of?(clazz) return true if superclass == clazz …
Chociaż możemy dziedziczyć po klasie bazowej / interfejsie, dlaczego nie możemy zadeklarować List<> używającej tej samej klasy / interfejsu? interface A { } class B : A { } class C : B { } class Test { static void Main(string[] args) { A a = new C(); // OK …
Jakie są dobre powody, aby zabronić dziedziczenia w Javie, na przykład używając klas końcowych lub klas używających pojedynczego, prywatnego konstruktora bez parametrów? Jakie są dobre powody, dla których metoda jest ostateczna?
Wydaje się, że klasy danych zastępują staromodne POJO w Javie. Można się spodziewać, że te klasy pozwoliłyby na dziedziczenie, ale nie widzę wygodnego sposobu na rozszerzenie klasy danych. Potrzebuję czegoś takiego: open data class Resource (var id: Long = 0, var location: String = "") data class Book (var isbn: …
Powiedzmy, że mam scenariusz wielokrotnego dziedziczenia: class A(object): # code for A here class B(object): # code for B here class C(A, B): def __init__(self): # What's the right code to write here to ensure # A.__init__ and B.__init__ get called? Są dwa typowe podejścia do pisania C„s __init__: (w …
Na przykład w Javie @Overrideadnotacja nie tylko zapewnia sprawdzanie zastąpienia w czasie kompilacji, ale także stanowi doskonały samodokumentujący się kod. Szukam tylko dokumentacji (chociaż jeśli jest to wskaźnik do jakiegoś kratownicy jak pylint, to jest to bonus). Mogę gdzieś dodać komentarz lub dokument, ale jaki jest idiomatyczny sposób wskazania zastąpienia …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.