Superclasă (programare)

În programare, o superclasă sau o clasă părinte este o clasă din care sunt derivate alte clase. Clasele derivate dintr-o superclasă sunt numite clase copil , clase derivate sau subclase .

O superclasă vă permite să creați o interfață generică care încapsulează funcționalitatea personalizată prin utilizarea funcțiilor virtuale .

Mecanismul de superclasă este utilizat pe scară largă în programarea orientată pe obiecte datorită reutilizabilității sale , care se realizează prin caracteristici comune încapsulate în obiecte modulare.

Limbajele de programare pot suporta atât superclase abstracte, cât și concrete .

Clasa de bază

O clasă de bază  este o clasă care nu are superclasă și, prin urmare, se află în partea de jos a arborelui subclaselor. Majoritatea sistemelor de programare orientate pe obiecte oferă o bibliotecă de clase din care dezvoltatorul își construiește propria sa. Aceste biblioteci oferă adesea una sau un set destul de limitat de clase de bază care formează nucleul bibliotecii.

În cazul în care o limbă sau o bibliotecă are o singură clasă de bază, atunci se numește cel mai înalt tip .

În UML , o clasă poate avea propriul set de proprietăți rădăcină pentru a indica faptul că este clasa de bază.

În stilul C++ (care este folosit în C# și în alte limbaje), termenul „clasă de bază” este folosit în locul termenului „superclasă”.

Exemple

Java

În limbajul de programare Java , metoda este apelată pentru a determina superclasa unei clase getSuperclass. Această metodă returnează un obiect Class care reprezintă superclasa clasei date sau returnează null dacă clasa nu are superclase. Pentru a determina toți părinții clasei, metoda getSuperclasseste apelată în mod repetat până când returnează null.

Următorul exemplu caută numele claselor părinte pentru clasa Button folosind metoda getSuperclass:

import java.lang.reflect.* ; import java.awt.* ; clasa SampleSuper { public static void main ( String [] args ) { Button b = new Button (); printSuperclase ( b ); } static void printSuperclase ( Obiect o ) { Subclasa clasa = o . getclass (); Clasa superclasa = subclasa . getSuperclass (); while ( superclass != null ) { String className = superclass . getName (); Sistem . afară . println ( numeclasa ); subclasa = superclasa ; superclasa = subclasa . getSuperclass (); } } }

Programul revine:

java.awt.Component java.lang.Object

Vezi și

Note