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.
Zauważyłem, że kompilator nie pozwala mi zastąpić przechowywanej właściwości inną przechowywaną wartością (co wydaje się dziwne): class Jedi { var lightSaberColor = "Blue" } class Sith: Jedi { override var lightSaberColor = "Red" // Cannot override with a stored property lightSaberColor } Jednak mogę to zrobić z obliczoną właściwością: class …
W JavaScript jaka jest różnica między tymi dwoma przykładami: Warunek wstępny: function SomeBaseClass(){ } SomeBaseClass.prototype = { doThis : function(){ }, doThat : function(){ } } Przykład dziedziczenia A przy użyciu Object.create: function MyClass(){ } MyClass.prototype = Object.create(SomeBaseClass.prototype); Przykład dziedziczenia B przy użyciu nowego słowa kluczowego function MyClass(){ } MyClass.prototype …
Przechodziłem przez to pytanie Czy istnieje sposób na przesłonięcie zmiennych klas w Javie? Pierwszy komentarz z 36 głosami za: Jeśli kiedykolwiek zobaczysz protected static, uciekaj. Czy ktoś może wyjaśnić, dlaczego się nie protected staticzgadza?
Poniżej znajduje się pytanie do wywiadu. Wymyśliłem rozwiązanie, ale nie jestem pewien, dlaczego działa. Pytanie: Bez modyfikowania Spartaklasy napisz kod, który spowoduje MakeItReturnFalsezwrot false. public class Sparta : Place { public bool MakeItReturnFalse() { return this is Sparta; } } Moje rozwiązanie: (SPOILER) public class Place { public interface Sparta …
Badam adnotacje i doszedłem do punktu, w którym niektóre adnotacje wydają się mieć hierarchię między nimi. Używam adnotacji do generowania kodu w tle dla kart. Istnieją różne typy kart (a więc inny kod i adnotacje), ale są pewne elementy, które są między nimi wspólne, takie jak nazwa. @Target(value = {ElementType.TYPE}) …
Czy GetType () zwróci najbardziej pochodny typ, gdy zostanie wywołany z klasy bazowej? Przykład: public abstract class A { private Type GetInfo() { return System.Attribute.GetCustomAttributes(this.GetType()); } } public class B : A { //Fields here have some custom attributes added to them } Czy powinienem po prostu utworzyć metodę abstrakcyjną, …
Przeszukałem w Google tak wiele linków i nie mogę dobrze zrozumieć różnicy między dziedziczeniem klasycznym a dziedziczeniem prototypowym? Nauczyłem się z nich kilku rzeczy, ale nadal jestem zdezorientowany. Korzyści z dziedziczenia prototypowego nad klasycznym? http://aaditmshah.github.io/why-prototypal-inheritance-matters/ Dziedziczenie klasyczne // Shape - superclass function Shape() { this.x = 0; this.y = 0; …
Jestem przyzwyczajony do klasycznego OOP, jak w Javie. Jakie są najlepsze praktyki wykonywania OOP w JavaScript przy użyciu NodeJS? Każda klasa to plik z module.export? Jak tworzyć klasy? this.Class = function() { //constructor? var privateField = "" this.publicField = "" var privateMethod = function() {} this.publicMethod = function() {} } …
To jest pytanie dotyczące składni. Mam klasę ogólną, która dziedziczy z ogólnej klasy bazowej i stosuje ograniczenie do jednego z parametrów typu. Chcę również, aby klasa pochodna implementowała interfejs. Za całe życie nie potrafię znaleźć właściwej składni. Oto co mam: DerivedFoo<T1,T2> : ParentFoo<T1, T2> where T2 : IBar { ... …
Znalazłem sposób na zdobycie dziedziczonych członków przez class.getDeclaredFields(); i dostęp do prywatnych członków przez class.getFields() Ale ja szukam prywatnych dziedziczonych pól. Jak mogę to osiągnąć?
W Pythonie 2.5 poniższy kod wywołuje TypeError: >>> class X: def a(self): print "a" >>> class Y(X): def a(self): super(Y,self).a() print "b" >>> c = Y() >>> c.a() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 3, in a TypeError: super() argument 1 must …
Używałem AOP Guice'a do przechwytywania niektórych wywołań metod. Moja klasa implementuje interfejs i chciałbym dodać adnotacje do metod interfejsu, aby Guice mógł wybrać odpowiednie metody. Nawet jeśli typ adnotacji jest adnotowany przy użyciu klasy implementującej Inherited adnotation, nie dziedziczy adnotacji, jak określono w dokumencie java Inherited: Należy również zauważyć, że …
Powiedzmy, że mamy klasę szablonu Area, która ma zmienną składową T area, a T getArea()i void setArea(T)funkcje składowe. Potrafię stworzyć Areaobiekt określonego typu pisząc Area<int>. Teraz mam klasę, Rectanglektóra dziedziczy Areaklasę. Ponieważ Rectanglesam w sobie nie jest szablonem, nie mogę pisać Rectangle<int>. Jak wyspecjalizować dziedziczony Areatyp Rectangleobiektów? EDYCJA: Przepraszam, zapomniałem …
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.