Qual è la parola per descrivere le lingue che hanno classi ed ereditarietà?

3

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

posta Jason C 20.03.2014 - 07:48
fonte

2 risposte

10

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).

    
risposta data 20.03.2014 - 08:31
fonte
3

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".

    
risposta data 20.03.2014 - 12:09
fonte

Leggi altre domande sui tag