Zastępowanie metod w programowaniu obiektowym jest funkcją języka, która umożliwia podklasie lub klasie potomnej dostarczenie określonej implementacji metody, która jest już udostępniona przez jedną z jej nadklas lub klas nadrzędnych.
Biorąc pod uwagę następującą klasę public class Foo { public int FooId { get; set; } public string FooName { get; set; } public override bool Equals(object obj) { Foo fooItem = obj as Foo; if (fooItem == null) { return false; } return fooItem.FooId == this.FooId; } public override …
Za każdym razem, gdy muszę ponownie zaimportować moje projekty do Eclipse (jeśli ponownie zainstalowałem Eclipse lub zmieniłem lokalizację projektów), prawie wszystkie moje zastąpione metody nie są poprawnie sformatowane, co powoduje błąd: Metoda musi zastąpić metodę nadklasy Warto wspomnieć, że z jakiegoś powodu dotyczy to projektów Androida, wartości argumentów metody nie …
Odpowiedzi na to pytanie są dziełem społeczności . Edytuj istniejące odpowiedzi, aby poprawić ten post. Obecnie nie akceptuje nowych odpowiedzi ani interakcji. Jakie problemy / pułapki należy wziąć pod uwagę przy nadpisywaniu equalsi hashCode?
Jeśli chodzi o Javę, gdy ktoś pyta: co to jest polimorfizm? Czy przeciążenie lub zastąpienie byłoby akceptowalną odpowiedzią? Myślę, że jest w tym coś więcej. JEŚLI masz abstrakcyjną klasę podstawową, która zdefiniowała metodę bez implementacji i zdefiniowałeś tę metodę w podklasie, czy to wciąż jest nadrzędne? Myślę, że przeciążenie nie …
Powiedzmy, że mam zajęcia Fooi Barskonfigurowałem tak: class Foo { public: int x; virtual void printStuff() { std::cout << x << std::endl; } }; class Bar : public Foo { public: int y; void printStuff() { // I would like to call Foo.printStuff() here... std::cout << y << std::endl; } …
Po naciśnięciu przycisku Wstecz chciałbym, aby moja aplikacja przechodziła w stan zatrzymania, a nie stan zniszczony. W dokumentach Androida napisano: ... nie wszystkie działania mają takie zachowanie, że są niszczone po naciśnięciu BACK. Gdy użytkownik zaczyna odtwarzać muzykę w aplikacji Muzyka, a następnie naciska BACK, aplikacja zastępuje normalne zachowanie wstecz, …
Dwa interfejsy z tymi samymi nazwami metod i podpisami. Ale zaimplementowane przez jedną klasę, to w jaki sposób kompilator zidentyfikuje, która metoda jest dla którego interfejsu? Dawny: interface A{ int f(); } interface B{ int f(); } class Test implements A, B{ public static void main(String... args) throws Exception{ } …
O ile rozumiem, wprowadzenie overridesłowa kluczowego w C ++ 11 jest niczym innym jak tylko sprawdzeniem, czy zaimplementowana funkcja jest overrideing virtualfunkcji w klasie bazowej. Czy to to?
Z podaną poniżej definicją struktury ... struct A { virtual void hello() = 0; }; Podejście nr 1: struct B : public A { virtual void hello() { ... } }; Podejście nr 2: struct B : public A { void hello() { ... } }; Czy jest jakaś różnica …
Czy ktoś ma jakieś doświadczenie w zastępowaniu alert()funkcji w JavaScript? Które przeglądarki obsługują to? Które wersje przeglądarki obsługują to? Jakie są niebezpieczeństwa związane z nadpisaniem funkcji?
Jakie są różnice między zadeklarowaniem metody w typie podstawowym „ virtual”, a następnie nadpisaniem jej w typie podrzędnym za pomocą overridesłowa kluczowego „ ”, a nie po prostu za pomocą newsłowa kluczowego „ ” w przypadku zadeklarowania metody dopasowania w typie podrzędnym?
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 …
Korzystam z Ruby on Rails 3.2.2 i chciałbym wiedzieć, czy poniższe są „właściwym” / „poprawnym” / „pewnym” sposobem na przesłonięcie metody ustawiającej dla atrybutu mojej klasy. attr_accessible :attribute_name def attribute_name=(value) ... # Some custom operation. self[:attribute_name] = value end Powyższy kod wydaje się działać zgodnie z oczekiwaniami. Jednak chciałbym wiedzieć, …
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.