Czy istnieje jakaś różnica między klasą nadrzędną a super klasą? Czy super klasa to po prostu klasa nadrzędna, która nie dziedziczy z innych klas?Różnica między rodzicielską klasą a super klasą
Odpowiedz
Jest to raczej różnica terminologiczna. Idea zajęć dla rodziców i dzieci lub super i podklas. Wydaje się, że zależy to od języka programowania i domeny aplikacji, z której korzystasz.
super() to sposób wywoływania konstruktora nadrzędnego lub super klasy dla klasy Java w klasie pochodnej.
I było sporo odejścia od terminologii sprzed lat, więc starsi i bardziej doświadczeni programiści, którzy wcześnie zajmowali się obiektami, mogą nazywać rzeczy nieco inaczej.
Okno nadrzędne i podrzędne jest również używane w systemach okien, w których okno znajduje się w innym oknie, dzięki czemu terminologia może zostać ponownie wykorzystana.
Powiedziałbym, że to to samo.
Być może zechcesz rozróżnić między rodzicem bezpośrednim a pośrednim lub super-klasą, ale sądzę, że te dwa pojęcia również nie są wystarczająco jasne. Więc jeśli to jest to, co próbujesz wyrazić, lepiej bądź konkretny.
Również wiele języków programowania ma słowo kluczowe "super" używane do odnoszenia się do (pojedynczej) bezpośredniej klasy nadrzędnej. Ale nawet tam, jeśli nazwiesz metodę "super", a rodzic bezpośredni jej nie zaimplementuje, to również się rozwija.
Są zasadniczo takie same. W zależności od języka zmienia się terminologia. Rodzic może oznaczać bezpośredniego rodzica, podczas gdy klasa Super może oznaczać którąkolwiek z klas przodków. Ponadto w języku Java znajduje się metoda super(), która wywołuje konstruktor nadrzędny.
Są to różne terminy dotyczące tej samej koncepcji OOP: dziedziczenie. Jeśli klasa ChildClass
rozciąga ParentClass
można powiedzieć:
ChildClass
klasa dominująca jest ParentClassParentClass
jest super-klasę ChildClass
poziomy dziedziczenia nie ma nic do zrobienia, to nie ma znaczenia jeśli sama Super-klasa rozszerza kolejną klasę.
W Ruby Język mamy oba pojęcia oznaczają różne rzeczy.
ParentClass -> ChildClass
-> ten służy do przestrzeni nazw
i
SuperClass -> SubClass
-> ten służy do spadku
Przykłady poniżej:
ParentClass -> ChildClass
:
class A
def self.f1
puts "A -> #{self.name}.f1 called"
end
# B is childclass of A
class B
def self.f2
puts "B -> #{self.name}.f2 called"
end
end
end
# C is subclass of A
class C < A
def self.f3
puts "C -> #{self.name}.f3 called"
B.f2
end
end
Zobacz poniższy wynik:
C.f1
A -> C.f1 nazwie
C.f3
C -> C.f3 nazywa
B -> A :: B.f2 nazywa
- 1. Różnica między klasą singleton a klasą statyczną?
- 2. Różnica między klasą APIView a klasą viewsets?
- 3. Jaka jest różnica między klasą Debug a klasą Trace?
- 4. AngularJS, różnica między klasą ng a klasą z wyrażeniem kątowym?
- 5. Różnica między klasą foo, klasą foo() i klasą foo (obiektem)?
- 6. Różnica między klasą enum a enum?
- 7. Jaka jest różnica między klasą int.class a klasą Integer.TYPE w języku Java?
- 8. Jaka jest różnica między klasą Class.This a klasą Java w języku Java?
- 9. Jaka jest różnica między klasą z prywatnym konstruktorem a klasą szczelną mającą prywatny konstruktor?
- 10. Jaka jest różnica między klasą clazz a klasą <?> clazz w java?
- 11. Różnica między klasą <?> a klasą <Object> w języku Java
- 12. jaka jest różnica między const, readonly a statyczną klasą
- 13. Jaka jest różnica między klasą abstrakcyjną a interfejsem?
- 14. Jaka jest różnica między klasą abstrakcyjną a mieszanką?
- 15. Udostępnianie zmiennej między klasą a jej członkiem
- 16. Konwersja wskaźnika do wskaźnika między klasą pochodną i klasą podstawową?
- 17. jaka jest różnica między klasą i danych: dataType
- 18. Jaka jest różnica między `super (...)` a `return super (...)`?
- 19. Jaki czasownik opisałby związek między klasą C# a jej atrybutem?
- 20. Okrężna zależność między klasą JavaScript a obiektem jQuery
- 21. Wyznaczanie nazw Ruby klasą a modułem?
- 22. Jaka jest różnica między klasą niestandardową a ustawieniem właściciela pliku w pliku Xib?
- 23. Konwersja między klasą scala i dynamiczną
- 24. Różnica między sesją hibernacji a EntityManager
- 25. Dlaczego String jest klasą?
- 26. Kontekst Androida poza klasą aktywności
- 27. Stan wyścigu z klasą statyczną?
- 28. Jak utworzyć div z klasą
- 29. jsp: param z klasą Java
- 30. Modelowanie z klasą obudowy Scala