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