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.



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 …


6
Jak modelować RESTful API z dziedziczeniem?
Mam hierarchię obiektów, którą muszę ujawnić za pośrednictwem interfejsu API RESTful i nie jestem pewien, jak powinny być zbudowane moje adresy URL i co powinny zwracać. Nie udało mi się znaleźć żadnych najlepszych praktyk. Powiedzmy, że mam psy i koty dziedziczące po zwierzętach. Potrzebuję operacji CRUD na psach i kotach; …

7
Jak wywołać właściwość klasy bazowej, jeśli ta właściwość jest nadpisywana w klasie pochodnej?
Zmieniam niektóre z moich klas z szerokiego użycia metod pobierających i ustawiających na bardziej Pythonowe użycie właściwości. Ale teraz utknąłem, ponieważ niektóre z moich poprzednich metod pobierających lub ustawiających wywoływałyby odpowiednią metodę klasy bazowej, a następnie wykonywałyby coś innego. Ale jak można to osiągnąć za pomocą właściwości? Jak wywołać metodę …

6
Dziedziczenie i rekurencja
Załóżmy, że mamy następujące klasy: class A { void recursive(int i) { System.out.println("A.recursive(" + i + ")"); if (i > 0) { recursive(i - 1); } } } class B extends A { void recursive(int i) { System.out.println("B.recursive(" + i + ")"); super.recursive(i + 1); } } Teraz wezwijmy recursiveklasę …

7
Serializacja XML i typy dziedziczone
Kontynuując moje poprzednie pytanie , pracowałem nad uzyskaniem serializacji mojego modelu obiektowego do XML. Ale teraz mam problem (quelle niespodzianka!). Problem polega na tym, że mam kolekcję, która jest abstrakcyjnym typem klasy bazowej, która jest zapełniana przez konkretne typy pochodne. Pomyślałem, że byłoby dobrze po prostu dodać atrybuty XML do …

7
Jaka jest właściwa alternatywa dla dziedziczenia metod statycznych?
Rozumiem, że dziedziczenie metod statycznych nie jest obsługiwane w języku C #. Przeczytałem również kilka dyskusji (w tym tutaj), w których programiści twierdzą, że potrzebują tej funkcjonalności, na co typową odpowiedzią jest „jeśli potrzebujesz dziedziczenia statycznego elementu członkowskiego, w Twoim projekcie jest błąd”. OK, biorąc pod uwagę, że OOP nie …
84 c#  .net  inheritance  static 

11
Jaki jest sens dziedziczenia w Pythonie?
Załóżmy, że masz następującą sytuację #include <iostream> class Animal { public: virtual void speak() = 0; }; class Dog : public Animal { void speak() { std::cout << "woff!" <<std::endl; } }; class Cat : public Animal { void speak() { std::cout << "meow!" <<std::endl; } }; void makeSpeak(Animal &a) …

3
Dziedziczenie JavaScript: wywołanie super-konstruktora lub użycie łańcucha prototypów?
Całkiem niedawno czytałem o używaniu wywołań JavaScript w MDC https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call jeden link z przykładu pokazanego poniżej, nadal nie rozumiem. Dlaczego używają tutaj dziedziczenia w ten sposób Prod_dept.prototype = new Product(); czy to konieczne? Ponieważ istnieje wywołanie superkonstruktora w programie Prod_dept() w każdym razie w ten sposób Product.call czy to po …

6
Dziedziczenie: „A” jest niedostępną podstawą „B”
$ cat inheritance.cpp #include <iostream> using namespace std; class A { }; class B : private A { }; int main() { A* ab = new B; } $ $ g++ inheritance.cpp inheritance.cpp: In function 'int main()': inheritance.cpp:9: error: 'A' is an inaccessible base of 'B' $ Po prostu nie …
82 c++  inheritance 

7
co to jest obiekt klasy (java.lang.Class)?
Dokumentacja Java dla Classmówi: Classobiekty są konstruowane automatycznie przez wirtualną maszynę języka Java podczas ładowania klas i przez wywołania defineClassmetody w programie ładującym klasy. Co to za Classobiekty? Czy są one tym samym, co obiekty tworzone z klasy przez wywołanie new? Na przykład, w object.getClass().getName()jaki sposób wszystko może zostać wpisane …

11
Kiedy używać super ()?
Obecnie uczę się dziedziczenia klas na moim kursie Java i nie rozumiem, kiedy używać super()wywołania? Edycja: znalazłem ten przykład kodu, w którym jest używany:super.variable class A { int k = 10; } class Test extends A { public void m() { System.out.println(super.k); } } Rozumiem więc, że tutaj musisz użyć, …


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.