Terminologie OOP en Ruby et C ++

10

Je prends une classe C ++ dans mon école. Depuis que j'ai programmé en Ruby, je connais des trucs OOP.

Mais en C ++, il existe des fonctions membres, des variables membres et des fonctions statiques. Dans Ruby, nous avons des méthodes d'instance, des variables d'instance et des variables de classe. Et il y a plus ...

Une raison pour laquelle ils sont différents? S'agit-il de niveaux de POO assez différents? Ou simplement quelques différences dans la tradition de ces écosystèmes?

Li Song
la source

Réponses:

4

Instance dans Ruby et membre dans C ++ sont en fait la même chose, donc les variables d'instance et les variables membres sont les mêmes, tout comme les méthodes d'instance et les fonctions membres.

Cependant, les membres statiques sont quelque peu différents des variables de classe dans Ruby car le modèle d'objet Ruby est assez différent de C ++. Dans Ruby, les classes sont des objets, donc les variables de classe sont des variables d'instance d'un objet de classe.

Lee
la source
6

Ce sont juste des noms différents pour la même chose. Vous voyez la même chose avec l'héritage: base vs parent vs super classes. Les enseignants et les personnes qui ne connaissent qu'une seule langue seront parfois très pédants sur les termes. Dans l'industrie, vous trouverez des gens qui se mélangent et s'associent plus souvent.

Karl Bielefeldt
la source
0

Les concepts - ou comme vous les appelez, les niveaux - de POO sont similaires ou identiques dans toutes les langues OO et beaucoup de différences de terminologie découlent de l'histoire et de la tradition des langues et de leurs écosystèmes. C'est pourquoi vous voyez différents termes utilisés pour décrire des concepts très similaires lorsque vous comparez les deux langues.

Timo Geusch
la source