Информатика. Общая информатика. Основы языка C++. Мамонова Т.Е. - 90 стр.

UptoLike

Составители: 

ции, явно задающие область видимости каждого члена класса. Традици-
онно это модификаторы public, protected и private, обозначающие, соот-
ветственно, открытые члены класса, члены класса, доступные только из
классов-потомков и скрытые, доступные только внутри класса. Кон-
кретная номенклатура модификаторов и их точный смысл различаются
в разных языках.
2. Методы доступа . Поля класса, в общем случае, не должны быть
доступны извне, поскольку такой доступ позволил бы произвольным об-
разом менять внутреннее состояние объектов. Поэтому поля обычно объ-
являются скрытыми (либо язык в принципе не позволяет обращаться к по-
лям класса извне), а для доступа к находящимся в полях данным использу-
ются специальные методы, называемые методами доступа. Такие методы
либо возвращают значение того или иного поля, либо производят запись в
это поле нового значения. При записи метод доступа может проконтроли-
ровать допустимость записываемого значения и, при необходимости,
произвести другие манипуляции с данными объекта, чтобы они остались
корректными нутренне согласованными). Методы доступа называют
ещё аксессорами т англ. access доступ), а по отдельности – геттерами
(англ. getчтение) и сеттерами (англ. setзапись).
3. Свойства объекта. Псевдополя, доступные для чтения и/или за-
писи. Свойства внешне выглядят как поля и используются аналогично
доступным полям некоторыми исключениями), однако фактически
при обращении к ним происходит вызов методов доступа. Таким об-
разом, свойства можно рассматривать как «умные» поля данных, сопро-
вождающие доступ к внутренним данным объекта какими-либо допол-
нительными действиями (например, когда изменение координаты
объекта сопровождается его перерисовкой на новом месте). Свойства,
по сути – не более чем синтаксический сахар, поскольку никаких новых
возможностей они не добавляют, а лишь скрывают вызов методов до-
ступа. Конкретная языковая реализация свойств может быть разной.
Например, в C# объявление свойства непосредственно содержит код ме-
тодов доступа, который вызывается только при работе со свойствами,
т.е. не требует отдельных методов доступа, доступных для непосред-
ственного вызова. В Delphi объявление свойства содержит лишь имена
методов доступа, которые должны вызываться при обращении к полю.
Сами методы доступа представляют собой обычные методы с некоторы-
ми дополнительными требованиями к сигнатуре.
Полиморфизм реализуется путём введения в язык правил, согласно
которым переменной типа «класс» может быть присвоен объект любого
класса-потомка её класса.
90