La disponibilità di classe rende la programmazione come linguaggio orientato agli oggetti? [duplicare]

0

La disponibilità di classe rende la programmazione come linguaggio orientato agli oggetti?

La maggior parte delle persone pensa che se esiste una classe di disponibilità in una lingua, allora quella lingua diventa orientata agli oggetti. È vero?

Secondo me, la sua non classe che rende il linguaggio orientato agli oggetti, ma i concetti OOP che rendono l'orientamento degli oggetti linguistici giusto?

Se Class rende un linguaggio orientato agli oggetti allora Javascript non è un linguaggio orientato agli oggetti, ma JS è un linguaggio orientato agli oggetti senza che nessuna classe sia implementata.

Mi porta anche a porre un'altra domanda, possiamo implementare tutti i concetti OOP in JS? cioè

Inheritance Astrazione dei dati Polimorfismo incapsulamento

Per favore, fammi sapere se la mia comprensione di JS è giusta o no?

    
posta Duster 28.11.2014 - 16:51
fonte

1 risposta

0

No, (1) le classi non creano automaticamente un linguaggio orientato agli oggetti e (2) non ne fanno una lingua non OO.

Un esempio di (1) è Java: Java ha classi, ma ciò non rende Java OO; infatti, le classi in Java vengono utilizzate per definire i tipi di dati astratti, al fine di definire gli oggetti, sono necessarie interfacce. Sono le interfacce che rendono Java OO, non le classi.

Un esempio di (2) è Self: Self è un linguaggio orientato agli oggetti senza classi.

JavaScript consente di implementare facilmente gli oggetti, utilizzando ciò che JavaScript chiama "oggetti" (che in realtà non sono oggetti nel senso di OO) in combinazione con chiusure. Indipendentemente dal fatto che faccia in modo che JavaScript sia un "linguaggio orientato agli oggetti" dipende davvero dalla tua definizione di cosa sia un "linguaggio orientato agli oggetti". È un linguaggio che rende possibile OO? È uno che rende OO fattibile? È uno che rende facile OO? E 'quello che ti guida verso OO? È uno che impone OO? È uno che rende OO conveniente?

Puoi usare OO in assembly, se vuoi. Questo rende l'assemblaggio OO? (Infatti, in uno dei suoi discorsi, Alan Kay ha detto di aver scoperto un documento del 1953, che descrive praticamente la sua visione di OO, implementata in assemblaggio.)

    
risposta data 28.11.2014 - 17:31
fonte

Leggi altre domande sui tag