Терміналогія OOP в Ruby та C ++


10

Я приймаю клас С ++ у своїй школі. Оскільки я програмував у Ruby, я знаю деякі речі OOP.

Але в C ++ є функції члена, змінні члена та статичні функції. У Ruby у нас є методи екземпляра, змінні екземпляра та змінні класу. І є ще ...

З якої причини вони різні? Чи є вони досить різними рівнями ООП? Або лише деякі відмінності в традиціях цих екосистем?

Відповіді:


4

Екземпляр у Ruby та член у C ++ фактично одне й те саме, тому змінні екземпляра та змінні члена є однаковими, як і методи екземпляра та функції члена.

Однак статичні члени дещо відрізняються від змінних класів у Ruby, оскільки об'єктна модель Ruby сильно відрізняється від C ++. У Ruby класи - це об'єкти, тому змінні класу є змінними екземпляра об'єкта класу.


6

Вони просто різні назви для однієї і тієї ж речі. Ви бачите те саме, що має спадок: база проти батьків та супер класів. Шкільні вчителі та люди, які знають лише одну мову, часом будуть дуже педантичні щодо термінів. У промисловості ви знайдете людей, що частіше змішуються та співпадають.


0

Поняття - або, як ви їх називаєте, рівнів - OOP схожі чи однакові для мов ОО, і багато відмінностей у термінології випливають з історії та традицій мов та їх екосистем. Ось чому ви бачите різні терміни, які використовуються для опису дуже схожих понять при порівнянні двох мов.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.