Pytania otagowane jako overriding

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.


7
Kiedy NIE wywoływać metody super () podczas nadpisywania?
Kiedy tworzę własną niestandardową klasę Androida, tworzę extendjej klasę natywną. Wtedy, kiedy chcę zastąpić metodę podstawową, zawsze wywołać super()metodę, tak jak zawsze w onCreate, onStopitp Pomyślałem, że to jest to, ponieważ od samego początku zespół Android doradzał nam, aby zawsze wywoływać supernadpisanie każdej metody. Ale w wielu książkach widzę, że …
113 java  android  overriding 

9
Jak zastąpić metodę equals w Javie
Próbuję przesłonić metodę równości w Javie. Mam klasę, Peoplektóra w zasadzie ma 2 pola danych namei age. Teraz chcę przesłonić equalsmetodę, aby móc sprawdzić między 2 obiektami People. Mój kod jest następujący public boolean equals(People other){ boolean result; if((other == null) || (getClass() != other.getClass())){ result = false; } // …
108 java  overriding  equals 

3
Wywołanie metody klasy bazowej w Pythonie
Rozważ następujący kod: class Base(object): @classmethod def do(cls, a): print cls, a class Derived(Base): @classmethod def do(cls, a): print 'In derived!' # Base.do(cls, a) -- can't pass `cls` Base.do(a) if __name__ == '__main__': d = Derived() d.do('hello') > $ python play.py > In derived! > <class '__main__.Base'> msg Od Derived.do, …

17
Dlaczego / kiedy należałoby zastąpić ToString?
Studiuję C # i zastanawiam się, jaki ToStringmoże być cel i korzyść zastąpienia , jak pokazano w poniższym przykładzie. Czy można to zrobić w prostszy sposób, używając wspólnej metody bez nadpisywania? public string GetToStringItemsHeadings { get { return string.Format("{0,-20} {1, -20}", "Office Email", "Private Email"); } } public override string …
103 c#  overriding 

6
Jak przesłonić właściwości klasy CSS przy użyciu innej klasy CSS
Jestem całkiem nowy w CSS3 i chcę mieć możliwość wykonywania następujących czynności: Kiedy dodaję klasę do elementu, nadpisuje ona właściwości innej klasy używanej w tym konkretnym elemencie. Powiedzmy, że tak <a class="left carousel-control" href="#carousel" data-slide="prev"> Chcę mieć możliwość dodania klasy o nazwie bakground-none, która zastąpi domyślne tło w klasie left. …
102 css  class  overriding 

9
Bezpiecznie zastępuj funkcje wirtualne C ++
Mam klasę bazową z funkcją wirtualną i chcę przesłonić tę funkcję w klasie pochodnej. Czy istnieje sposób, aby kompilator sprawdzał, czy funkcja, którą zadeklarowałem w klasie pochodnej, faktycznie przesłania funkcję w klasie bazowej? Chciałbym dodać jakieś makro lub coś, co zapewnia, że ​​nie zadeklarowałem przypadkowo nowej funkcji, zamiast nadpisać starą. …

2
Zastępowanie stałych klas a właściwości
Chciałbym lepiej zrozumieć, dlaczego w poniższym scenariuszu istnieje różnica w sposobie dziedziczenia stałych klas w porównaniu ze zmiennymi instancji. <?php class ParentClass { const TEST = "ONE"; protected $test = "ONE"; public function showTest(){ echo self::TEST; echo $this->test; } } class ChildClass extends ParentClass { const TEST = "TWO"; protected …


11
Niestandardowy ImageView z cieniem
Okej, czytałem i szukałem, a teraz walę głową w ścianę, próbując to rozgryźć. Oto, co mam do tej pory: package com.pockdroid.sandbox; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Rect; import android.widget.ImageView; public class ShadowImageView extends ImageView { private Rect mRect; private Paint mPaint; public ShadowImageView(Context context) { super(context); …


13
Java: wywołanie super metody, która wywołuje metodę przesłoniętą
public class SuperClass { public void method1() { System.out.println("superclass method1"); this.method2(); } public void method2() { System.out.println("superclass method2"); } } public class SubClass extends SuperClass { @Override public void method1() { System.out.println("subclass method1"); super.method1(); } @Override public void method2() { System.out.println("subclass method2"); } } public class Demo { public static …

4
Jak nadpisać to_json w Railsach?
Aktualizacja: Ten problem nie został właściwie zbadany. Prawdziwy problem leży wewnątrz render :json. Pierwsze wklejenie kodu w pierwotnym pytaniu da oczekiwany wynik. Jednak nadal istnieje zastrzeżenie. Zobacz ten przykład: render :json => current_user NIE jest tym samym, co render :json => current_user.to_json Oznacza to, render :jsonże nie wywoła automatycznie to_jsonmetody …

8
Czy można zastąpić metodę niewirtualną?
Czy istnieje sposób na zastąpienie metody niewirtualnej? lub coś, co daje podobne wyniki (inne niż tworzenie nowej metody wywoływania żądanej metody)? Chciałbym zastąpić metodę z Microsoft.Xna.Framework.Graphics.GraphicsDevicemając na uwadze testy jednostkowe.

16
Przesłanianie a ukrywanie Javy - zdezorientowana
Nie wiem, jak zastępowanie różni się od ukrywania w Javie. Czy ktoś może podać więcej szczegółów na temat różnic między nimi? Przeczytałem samouczek Java, ale przykładowy kod nadal mnie zdezorientował. Żeby było jaśniej, dobrze rozumiem nadpisywanie. Mój problem polega na tym, że nie widzę, czym różni się ukrywanie, z wyjątkiem …

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.