Terminologia OOP in Ruby e C ++

10

Sto frequentando un corso di C ++ nella mia scuola. Da quando ho programmato Ruby, conosco alcune cose OOP.

Ma in C ++ ci sono funzioni membro, variabili membro e funzioni statiche. In Ruby abbiamo metodi di istanza, variabili d'istanza e variabili di classe. E ce ne sono altri ...

Qualche ragione per cui sono diversi? Sono livelli abbastanza diversi di OOP? O solo alcune differenze nella tradizione di questi ecosistemi?

    
posta Li Song 21.12.2012 - 15:39
fonte

3 risposte

4

L'istanza in Ruby e il membro in C ++ sono effettivamente la stessa cosa, quindi le variabili di istanza e le variabili membro sono uguali, così come i metodi di istanza e le funzioni dei membri.

Tuttavia, i membri statici sono in qualche modo diversi dalle variabili di classe in Ruby poiché il modello dell'oggetto Ruby è molto diverso da C ++. In Ruby, le classi sono oggetti, quindi le variabili di classe sono variabili di istanza di un oggetto di classe.

    
risposta data 21.12.2012 - 16:21
fonte
6

Sono solo nomi diversi per la stessa cosa. Vedete la stessa cosa con l'ereditarietà: base vs genitore vs super classi. Gli insegnanti e le persone che conoscono solo una lingua a volte saranno molto pedanti riguardo ai termini. Nell'industria troverai persone che si mescolano e si abbinano più spesso.

    
risposta data 21.12.2012 - 16:05
fonte
0

I concetti - o come li chiami, i livelli - di OOP sono simili o uguali in tutte le lingue OO e molte delle differenze terminologiche derivano dalla storia e dalla tradizione delle lingue e dei loro ecosistemi. Ecco perché stai vedendo termini diversi usati per descrivere concetti molto simili quando confronti le due lingue.

    
risposta data 21.12.2012 - 15:59
fonte

Leggi altre domande sui tag