ООП терминология в Ruby и C ++


10

Я учусь на С ++ в своей школе. Так как я программировал на Ruby, я знаю кое-что ООП.

Но в C ++ есть функции-члены, переменные-члены и статические функции. В Ruby у нас есть методы экземпляра, переменные экземпляра и переменные класса. И есть еще ...

По какой причине они разные? Это совершенно разные уровни ООП? Или просто некоторые различия в традициях этих экосистем?

Ответы:


4

Экземпляр в Ruby и член в C ++ - это одно и то же, поэтому переменные экземпляра и переменные-члены одинаковы, как методы экземпляра и функции-члены.

Однако статические члены несколько отличаются от переменных класса в Ruby, поскольку объектная модель Ruby сильно отличается от C ++. В Ruby классы являются объектами, поэтому переменные класса являются переменными экземпляра объекта класса.


6

Это просто разные имена для одной и той же вещи. Вы видите то же самое с наследованием: базовый класс против родительского класса против суперклассов. Школьные учителя и люди, которые знают только один язык, иногда будут очень педантичны в отношении этих терминов. В промышленности вы найдете людей, которые смешивают и сопоставляют чаще.


0

Концепции - или, как вы их называете, уровней - ООП одинаковы или одинаковы в разных языках ООП, и многие различия в терминологии проистекают из истории и традиций языков и их экосистем. Вот почему вы видите разные термины, используемые для описания очень похожих концепций, когда вы сравниваете два языка.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.