Qual è la parola usata per descrivere il tipo di linguaggi di programmazione che forniscono una sintassi esplicita per la definizione delle classi e che supportano l'ereditarietà?
Ad esempio: "Un linguaggio
Linguaggio orientato agli oggetti basato sulla classe
Class-based programming, or more commonly class-orientation, is a style of object-oriented programming (OOP) in which inheritance is achieved by defining classes of objects, as opposed to the objects themselves (compare prototype-based programming).
Le classi e l'ereditarietà sono completamente ortogonali a OO. Ci sono linguaggi con classi che non sono orientate agli oggetti, ci sono linguaggi con ereditarietà che non sono orientati agli oggetti, ci sono linguaggi che sono orientati agli oggetti e hanno classi ma non ereditarietà, ci sono linguaggi orientati agli oggetti e hanno ereditarietà ma nessuna classe, e ci sono linguaggi orientati agli oggetti e non hanno né ereditarietà né classi.
Un termine comune per le lingue come Smalltalk è "linguaggio orientato agli oggetti basato sulla classe" (che implica in silenzio l'ereditarietà tra le classi). Tuttavia, questo non si applica a linguaggi come Java o C #, perché qui la programmazione orientata agli oggetti non viene eseguita con le classi ma con le interfacce. In Java o C #, le classi descrivono i tipi di dati astratti, non gli oggetti, le interfacce descrivono gli oggetti. (Vedi Informazioni sull'astrazione dei dati, rivisitato da William R. Cook )
Quindi, il meglio che si può probabilmente fare è "linguaggio con ereditarietà basata sulla classe", che a volte viene anche definito "ereditarietà classica".
Leggi altre domande sui tag object-oriented terminology