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