Terminologia OOP w Ruby i C ++

10

Biorę lekcje języka C ++ w mojej szkole. Odkąd programowałem w Ruby, znam pewne rzeczy związane z OOP.

Ale w C ++ są funkcje składowe, zmienne składowe i funkcje statyczne. W Ruby mamy metody instancji, zmienne instancji i zmienne klas. I jest więcej ...

Jest jakiś powód, dla którego są inni? Czy są to zupełnie różne poziomy OOP? A może tylko niektóre różnice w tradycji tych ekosystemów?

Li Song
źródło

Odpowiedzi:

4

Instancja w Ruby i element członkowski w C ++ są w rzeczywistości tym samym, więc zmienne instancji i zmienne składowe są takie same, podobnie jak metody instancji i funkcje składowe.

Jednak elementy statyczne różnią się nieco od zmiennych klasowych w Ruby, ponieważ model obiektowy Ruby jest zupełnie inny niż C ++. W Ruby klasy są obiektami, więc zmienne klas są zmiennymi instancji obiektu klasy.

Zawietrzny
źródło
6

Są to po prostu różne nazwy dla tej samej rzeczy. To samo dotyczy dziedziczenia: podstawowa vs. nadrzędna vs. superklasy. Nauczyciele szkolni i osoby znające tylko jeden język będą czasem bardzo pedantycznie nastawieni do tych warunków. W branży częściej występują osoby mieszające się i dopasowujące.

Karl Bielefeldt
źródło
0

Pojęcia - lub jak je nazywacie, poziomy - OOP są podobne lub takie same we wszystkich językach OO, a wiele różnic w terminologii wynika z historii i tradycji języków i ich ekosystemów. Dlatego podczas porównywania dwóch języków używasz różnych terminów opisujących bardzo podobne pojęcia.

Timo Geusch
źródło