вторник, 26 мая 2015 г.

0-0. Классы и объекты

class - класс
object - объект
function - функция
operation - операция
attribute - атрибут
property - свойство
state - состояние
behavior - поведение
identity - отличительная черта
type - тип
instance - экземпляр
Что такое класс?
Что такое объект?
Какова разница между классом и объектом?


Итак, начнем с объектов.
Объекты окружают нас в жизни. Стол, стул - объекты, но малоинтересные. Зато ваш кот - отличный пример. Он может быть дымчатым или черным, может быть сыт или голоден - это его состояние. Если вы его не собираетесь перекрашивать, то первое - перманентное, постоянное - константа. А второе - переменное - иногда кота все таки можно накормить досыта.
У кота есть поведение - он может спать, просить есть, играть.
У кота есть имя - Мурзик, Васька, Зефир, может быть есть родословная или факт, что он принадлежит вам - то, что его идентифицирует, то есть позволяет однозначно найти среди других котов.

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


Как видите, в примере выше первая табличка - это описание класса Автомобиль. Предполагается, что Автомобиль обладает такими свойствами, как марка, модель и цвет, эти свойства могут принимать строковые значения. Также автомобиль имеет мощность двигателя  - число. Автомобиль предоставляет нам два метода работы с ним; можно завести двигатель и включить фары.
Теперь по этому шаблону мы можем создать  конкретные объекты и с определенными свойствами. Например, МойАвтомобиль  - Toyota Camry белого цвета, с двигателем мощностью 200 лс. МойАвтомобиль и МашинаДеда - это экземпляры класса Автомобиль.
Попробуйте посмотреть вокруг и составить пару табличек, представляющих классы объектов, которые вы видите (настольная лампа, телефон).




Комментариев нет:

Отправка комментария