ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В C++ (4-Е ИЗДАНИЕ) (часть 6) онлайн
Вызов методов класса
Следующая пара операторов осуществляет вызов метода setdata();
s1.setdata(1066); s2.setdata(1776);
Эти операторы выглядят не так, как обычный вызов функции. Почему имена объектов s1 и s2 связаны с именами функций операцией точки (.)? Такой стран- ный синтаксис объясняется тем, что вызов применим к методу конкретного объ- екта. Поскольку setdata() является методом класса smallobj, его вызов должен быть связан с объектом этого класса. Например, оператор
setdata (1066);
сам по себе не имеет смысла, потому что метод всегда производит действия с конкретным объектом, а не с классом в целом. Попытка доступа к классу по смыслу сходна попытке сесть за руль чертежа автомобиля. Кроме бессмыс- ленности такого действия, компилятор расценил бы это как ошибку. Таким образом, доступ к методам класса возможен только через конкретный объект этого класса.
Для того чтобы получить доступ к методу класса, необходимо использовать операцию точки (.), связывающую метод с именем объекта. Синтаксически это напоминает доступ к полям структуры, но скобки позади имени метода говорят о том, что мы совершаем вызов функции, а не используем значение переменной (операцию точки называют операцией доступа к члену класса).
Оператор s1.setdata(1066);
вызывает метод setdata() объекта s1. Метод присваивает полю somedata объекта s1 значение, равное 1066. Вызов
s2.setdata(1776);
подобным же образом присваивает полю somedata объекта s2 значение, равное 1776. Теперь мы имеем два объекта с различными значениями поля somedata, как показано на рис. 6.4.

Рис. 6.4. Два объекта класса smallobj
Аналогично, два вызова функции showdata() отобразят на экране значения полей соответствующих объектов:
s1.showdata(); s2.showdata();
Сообщения
В некоторых объектно-ориентированных языках программирования вызовы ме- тодов объектов называют сообщениями. Так, например, вызов
s1.showdata();
можно рассматривать как посылку сообщения объекту s1 с указанием вывести на экран свои данные. Термин сообщение не входит в число формальных терми- нов языка C++, однако его полезно держать в голове в процессе дальнейшего обсуждения. Представление вызова методов в виде сообщений подчеркивает не- зависимость объектов как самостоятельных единиц, взаимодействие с которыми осуществляется путем обращения к их методам. Если обратиться к аналогии
со структурой компании, приведенной в главе I, то вызов метода будет похож на письмо к секретарю отдела продаж с запросом статистики о рынке компании в каком-либо регионе.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
Схожі підручники
- Продажи и управление продажами Учеб. пособие для вузов (часть 5) (онлайн)
- РЕГІОНАЛЬНА ЕКОНОМІКА. Тексти лекцій онлайн (частина 2)
- СЛОВНИК ОСНОВНИХ ЕКОЛОГІЧНИХ ТЕРМІНІВ ТА ПОНЯТЬ
- Преодоление духовного материализма (онлайн)
- МЕТОДИЧНІ РЕКОМЕНДАЦІЇ ДО ПРОВЕДЕННЯ СЕМІНАРСЬКИХ ЗАНЯТЬ, ОРГАНІЗАЦІЇ І ПРОВЕДЕННЯ САМОСТІЙНОЇ ТА ІНДИВІДУАЛЬНО-КОНСУЛЬТАЦІЙНОЇ РОБОТИ СТУДЕНТІВ
- Хрестоматія з Філософії (частина 1) (онлайн)
