понедельник, 23 июля 2012 г.

Objective-C. Объектно-ориентированное программирование. Классы и объекты.

В объектно-ориентированном программировании объект - это и вещь, и действия которые над ней можно совершить.

Класс - это чертеж автомобиля.
Объект (экземпляр объекта) - это реальный автомобиль, созданный по чертежу класса.

Объекты являются уникальными представителями класса.

При выпуске каждого нового автомобиля создается новый экземпляр данного класса автомобилей.

Ваш автомобиль может иметь набор характеристик-атрибутов, таких как: цвет, размеры, скорость и набор действий-методов, которые вы можете производить над своим автомобилем, такие как: заправка, езда, остановка, ремонт.

Таким образом понятие объект - это существительное, отвечающее на вопрос: "Что это такое?"
Ответ: "Объект - автомобиль".

Свойства или атрибуты - это прилагательные. Они задают характеристики объекта, отвечая на вопросы: "Какой он? Каковы его характеристики?"
Ответ: "Красный, большой, быстрый".

Методы или функции - это глаголы. Они описывают действия, которые можно произвести над данным объектом. Они отвечают на вопрос: "Что сделать?"
Ответ: "Заправить, завести, поехать, остановить".

На основе класса, как по чертежу, возможно создание множества экземпляров объектов-автомобилей.

Действия, которые выполняются над экземпляром автомобилей, называются методами.

Свойства или атрибуты каждого экземпляра (объекта) автомобиля могут изменяться динамически под воздействием его методов. Применение метода к объекту может влиять на состояние этого объекта.

Язык программирования Objective-C имеет следующий синтаксис для применения методов к класса и экземплярам:

[object method];

В этом синтаксисе после открывающей прямоугольной скобки сначала всегда идет название чертежа-класса или название объекта - экземпляра класса, а затем (после одного или нескольких пробелов или отступов) - метод или функция данного объекта, который нужно выполнить. В конце всегда ставится закрывающая прямоугольная скобка и точка с запятой.

Но прежде, чем начать работать с объектом, необходимо его создать по чертежам класса с помощью особого метода new.
(Метод new объединяет в себе методы alloc и init.)

Представим, что у нас есть некий класс Car. Создадим по его чертежам объект myCar.

myCar = [Car new];

После того, как экземпляр автомобиля создан мы можем производить над ним все действия, описанные как методы в классе Car.

[myCar preparation];
[myCar drive];
[myCar stop];
[myCar wash]; 

Некоторые методы, описанные в классе Car, могут возвращать данные, в результате своего выполнения, которые вы можете сохранять в переменные.

сurrentSpeed = [myCar getSpeed];


1 комментарий: