2. Поля, свойства и методы
Класс является сложной структурой данных, объединяющей переменные, функции и процедуры в одном типе данных. Переменные, входящие в состав класса, называются полями. Процедуры и функции класса обычно называются методами. Свойства класса представляют собой поля, обращение к которым производится через специальные методы. Свойства позволяют реализовать важный принцип объектно-ориентированного программирования, называемый скрытием данных.
Поля
Поля класса представляют собой переменные, объявленные внутри класса. Фактически, поля класса аналогичны полям записи. Объявление полей класса должно предшествовать объявлению методов и свойств (приложение 3).
Свойства
Прямое обращение к полям, определяющим состояние объекта, противоречит принципам объектно-ориентированного программирования. Поэтому для обмена данными с другими объектами используются свойства, обращение к которым может выполняться не напрямую, а только через соответствующие методы. В этом и заключается отличие свойств от полей, к которым можно обращаться непосредственно.
Для объявления свойств используется служебное слово property. Так как свойство может обмениваться данными только через соответствующие методы, то при объявлении свойства обычно указываются три элемента: свойство и два метода, обеспечивающие обращение к нему (чтение и запись)
В объявлении свойства после служебного слова read указывается имя метода, обеспечивающего чтение значения свойства, а после директивы write – имя метода, изменяющего значение свойства. Чтение и запись значения свойства могут производиться только через некоторое промежуточное поле
При обращении к свойству класса нет необходимости в явном виде вызывать методы, обеспечивающие чтение значения свойства и/или изменение его значения. Синтаксически обращение к свойству может выглядеть точно так же, как и обращение к полю (но при этом следует помнить, что эта операция будет выполняться через соответствующие методы).
Для обращения к свойству необязательно использовать методы. Вместо имен методов после слов read и write в объявлении свойства можно указать просто имя поля.
Для записи предпочтительнее использовать метод, так как это позволит контролировать корректность изменения значения свойства (например, попадание величины в допустимый диапазон).
Если в объявлении свойства указан только метод (или поле), обеспечивающий чтение, то данное свойство предназначено только для чтения (read only). Поэтому изменить его значение в процессе выполнения программы нельзя. Аналогично, если указан только метод, обеспечивающий запись, то значение свойства при выполнении программы нельзя считывать; данное свойство является свойством только для записи (write only).
Методы
Методы предназначены для манипулирования данными, входящими в состав класса. Фактически, методы представляют собой обычные процедуры и функции, которым разрешен доступ ко всем полям класса.
Методы объявляются в описании класса после объявления полей. Существуют несколько типов методов, различающихся по механизму наследования.
Другое о педагогике:
Проектная деятельность в области дополнительного образования
В настоящее время не вызывает сомнений тот факт, что будущее России, её место и перспективы в современном мире в первую очередь зависят от того, будут ли её жители патриотами и гражданами своей страны. Перед современной школой стоит сложная задача – воспитать молодежь, которая понимает и ценит демо ...
Словесно-жестовый
билингвизм - хорошо это или плохо
На этот вопрос в 1930 г. Л.С. Выготский, выдающийся психолог и один из основоположников отечественной дефектологии, ответил так: «Психологические исследования, экспериментальные и клинические, согласно показывают, что полиглоссия, т. е. владение различными формами речи, при настоящем состоянии сурд ...
Организация исследования и анализ речевого развития
Экспериментальное изучение лексической стороны речи дошкольников с ОНР проводилось на базе ДОУ № 44 Кузяевского района г. Москвы), в течение 2 недель. Участниками эксеримента стали дети старшего дошкольного возраста (5– 6 лет). Экспериментальную группу составили 5 детей с ОНР 3-го уровня, стертая ф ...