Может кто-нибудь, пожалуйста, устранить неоднозначность атрибутов класса и методов для C ++? У меня сложилось впечатление, что атрибут означает любую переменную-член, а метод означает любую функцию-член.
Спасибо
Определите «правильно».
Ссылка на элементы данных и функции-члены как «атрибуты / свойства» и «методы», соответственно, является обычной практикой — это общая формулировка ОО. («атрибуты» используются в C ++ для что-то другое, хотя, так что это может быть источником путаницы.)
Стандарт C ++, однако, делает не используйте эти термины (кроме атрибутов, конечно, как описано выше). Если вы не хотите ничего рисковать и всегда будете правы, используйте «члены-данные» и «функции-члены».
Но если вы хотите только объяснить C ++ программисту на Java, вы можете сойти с рук с помощью «свойства» и «метода» в начале.
Я бы не стал этого делать. Хотя это можно понять в общем контексте ОО, в С ++ это будет сбивать с толку атрибут имеет точное определение в стандарте, а не элемент данных.
Атрибуты класса будут транслироваться его членам. Метод не совпадает с функцией-членом в целом. Но «В объектно-ориентированном программировании метод — это подпрограмма (или процедура), связанная с классом». — Википедия.
Другими словами, атрибут описывает что-то: «Одним из атрибутов этого автомобиля является то, что он довольно длинный», или «Одним из атрибутов гигантской панды является то, что он поражает черным и белым цветами».
В XML атрибуты используются для добавления дополнительной информации в тег, например, <species id=3212>Ailuropoda melanoleuca<common_name>Giant Panda</common_name></species>
— id
это атрибут, Ailuropoda melanoleuca
это значение, common_name
тег внутри species
,
Но я называю переменные в классе «переменные-члены», а функции в классе «функция-член» или «метод».