Was ist das Gegenteil einer Basisklasse in OOP?

8

In der objektorientierten Programmierung ist eine 'Basisklasse' eine Klasse, von der andere Klassen abgeleitet wurden (http://en.wikipedia.org/wiki/Base_class).

Was ist das Gegenteil einer Basisklasse? In Wortreihen, was ist eine Klasse, die keine untergeordneten Klassen aufgerufen hat?

BEARBEITEN: Ich suche nach dem Namen einer Klasse, die nicht unterklassifiziert wurde, YET, innerhalb einer Vererbung von Baum aus mehreren Elternklassen, beginnend mit einer Basisklasse.

    
archmeta 14.11.2011, 02:47
quelle

5 Antworten

13

Eine Basisklasse ist ein relativer Begriff. Es gilt nur, wenn eine der abgeleiteten Klassen berücksichtigt wird. Hier sind einige Begriffe, die ich als Gegensätze (und meist orthogonal untereinander) betrachte:

  • Basisklasse vs abgeleitete Klasse; ähnlich Superklasse vs Unterklasse
  • abstrakte Klasse gegen konkrete Klasse
  • Stammklasse gegen Blattklasse
  • versiegelte (auch finale) Klasse vs vererbbare (nicht versiegelte) Klasse
  • geschachtelte Klasse vs oberste Klasse

Abstrakte und (normalerweise) Stammklassen sind als Basisklassen konzipiert. Versiegelte Klassen können nicht Basisklassen sein, da sie nicht vererbbar sind. Eine Root-Klasse ist eine Klasse ohne Basisklasse (in C # und Java ist diese Klasse Object ). Eine Leaf-Klasse hat keine Unterklasse, daher handelt es sich nicht um eine Basisklasse. aber es ist nicht unbedingt versiegelt. Versiegelte Klassen hingegen sind immer Leerklassen.

Also,

  

Ich suche nach dem Namen einer Klasse, die nicht unterklassifiziert wurde, YET

Sie suchen nach einer Leaf-Klasse , , aber ich halte sie nicht für das Gegenteil einer Basisklasse .

    
Jordão 14.11.2011, 03:27
quelle
4

Normalerweise höre ich Blattklasse. Java erzwingt es mit final .

    
0x5f3759df 14.11.2011 02:51
quelle
3

Es würde eine Blattklasse genannt werden.

Ссылка

    
Stainedart 14.11.2011 02:53
quelle
1

In C # werden diese als versiegelte Klassen bezeichnet. Sie können das Schlüsselwort sealed verwenden, um anzugeben, dass eine Klasse nicht geerbt werden soll. VB verwendet das Schlüsselwort NotInheritable . Wikipedia nennt sie nicht unterklassierbar .

    
kol 14.11.2011 02:51
quelle
1

Ich versiegelte Klasse muss nichts erben. Das Gegenteil einer Basisklasse wäre für mich eine abgeleitete Klasse, aber eine abgeleitete Klasse zu sein, schließt nicht aus, dass sie geerbt wird.

Aber es klingt wie Carl T.'s Antwort ist wahrscheinlich, was Sie gesucht haben.

    
Brandon Moore 14.11.2011 02:58
quelle

Tags und Links