Bezdepbonusu7Программирование: статьи и ответы

Вопрос

C++ Правильно ли вызывать атрибуты переменных-членов класса?

Автор вопроса: user2672807Ответов: 4

Может ли кто-нибудь устранить неоднозначность атрибутов и методов класса для С++? У меня сложилось впечатление, что атрибут означает любую переменную-член, а метод означает любую функцию-член.

Спасибо

  • Атрибуты = несколько используемая, но неформальная терминология. Jon 17.08.2013
  • Я бы не стал использовать термин attributes в C++ таким образом, поскольку имя attributes теперь относится к совершенно не связанной части языка. Mooing Duck 17.08.2013
  • Я не думаю, что это неправильно, так как нельзя использовать эти слова или поскольку они не имеют такого значения в C++. Однако слово атрибут используется с C++11 для что-то еще. Пока вы достаточно четко используете свои термины и не слишком далеко отходите от существующих терминов, это не должно быть проблемой. didierc 17.08.2013

c++methodsattributesterminology

Ответы

Ответ 1 · рейтинг 9 · Community

Определите "правильно".

Обращение к элементам данных и функциям-членам как к "атрибутам/свойствам" и "методам" соответственно является обычной практикой - это общая формулировка ООП. ("атрибуты" используются в C++ для чего-то еще, так что это вполне может быть источником путаницы.)

Однако стандарт C++ не использует эти термины (кроме атрибутов, конечно, как объяснялось выше). Если вы не хотите ничем рисковать и всегда быть корректным, используйте "члены данных" и "функции-члены".

Но если вы хотите объяснить C++ только Java-программисту, вы можете обойтись без "свойства" и "метода" в начале.

Ответ 2 · рейтинг 2 · David Rodríguez - dribeas

Я бы не стал этого делать. Хотя это можно понять в общем контексте объектно-ориентированного программирования, в C++ это будет запутанно, поскольку атрибут имеет точное определение в стандарте, которое не совпадает с определением члена данных.

Ответ 3 · Pierre-Antoine LaFayette

Атрибуты класса будут транслироваться его членам. Метод - это не то же самое, что функция-член в целом. Но "в объектно-ориентированном программировании метод - это подпрограмма (или процедура), связанная с классом". - Википедия.

Ответ 4 · Mats Petersson

Проще говоря, атрибут описывает что-то: "Одним из атрибутов этой машины является то, что она довольно длинная" или "одним из атрибутов гигантской панды является ее поразительный черно-белый цвет".

В XML атрибуты используются для добавления дополнительной информации в тег, например, <species id=3212>Ailuropoda melanoleuca<common_name>Giant Panda</common_name></species> - id - атрибут, Ailuropoda melanoleuca - значение, common_name тег внутри species.

Но я называю переменные в классе "переменными-членами", а функции в классе "функцией-членом" или "методом".

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы