Классы и объекты - это разные, но тесно связаны понятия. В частности, каждый объект является экземпляром какого-либо класса; класс может порождать любое количество объектов.
Относительно взаимосвязи классов и объектов можно привести высказывание Алана Кея . Алан Кей, которого кое-кто называет отцом объектно-ориентированного программирования, считает следующие положения фундаментальными характеристиками ООП:
1. Все является объектом;
2. Вычисления осуществляются путем взаимодействия (обмену данными) между объектами, при котором один объект требует, чтобы другой объект выполнил какое-то действие. Объекты взаимодействуют, посылая и получая сообщение. Сообщение - это запрос на выполнение действия, дополненный набор аргументов, который может понадобиться во время выполнения действия;
3. Каждый объект имеет независимую память, которая состоит из других объектов;
4. Каждый объект является представителем класса, который выражает общие свойства объектов (таких, как целые числа или списки);
5. В классе задается поведение (функциональность) объекта. Тем самым все объекты, которые являются экземплярами одного класса, могут выполнять те же действия;
6. Классы организованы в единственную древовидную структуру с общим корнем, который называется иерархией наследования. Память и поведение, связанное с экземплярами определенного класса, автоматически доступны любому классу, расположенному ниже в иерархическом дереве.
7. Стоит также понимать, что каждый класс является користувальницьким типом данных. Иначе говоря, объект - это переменная типа класса.
|