Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
samples / Stacionar / _ООП / ООП_шпоры.doc
Скачиваний:
26
Добавлен:
25.03.2015
Размер:
74.24 Кб
Скачать

1. Объекты и классы

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

  • Наследование (Генерализация) — объекты дочернего класса наследуют все свойства родительского класса.

  • Ассоциация — объекты классов вступают во взаимодействие между собой.

  • Агрегация — объекты одного класса, входят в объекты другого.

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

Объект наряду с понятием «класс», является важным понятием объектно-ориентированного подхода в программировании. Под объектом подразумевается некоторая сущность, обладающая состоянием и поведением. Как правило, при рассмотрении объектов выделяется, что объекты принадлежат одному или нескольким классам, которые в свою очередь определяют поведение объекта. Время с момента создания объекта до его уничтожения называется временем жизни объекта.

В большинстве объектно-ориентированных языков программирования (таких как Java, C++ или С#), объекты являются экземплярами некоторого заранее описанного класса. Объекты в таких языках создаются с помощью конструктора класса, и уничтожаются либо с помощью деструктора класса (например, в C++), либо автоматически с использованием «сборщика мусора» (в Java, C#). Объект хранится в виде данных всех его полей и ссылок на таблицу виртуальных методов и RTTI своего класса. Класс определяет набор функций и служебной информации для построения объекта, в том числе необходимый объем памяти для хранения объекта.

Пример класса в языке программирования Java:

public class MyClass {

private String field1; //строковое поле field1

private int field2; //целочисленное поле field2

//конструктор

public MyClass() {

field1 = "Строка";

field2 = 10;

}

//метод MyMethod()

public void MyMethod() {

String s = field1 + " " + field2;

System.out.println(s);

}

//gettets & setters

public String getField1() {

return field1;

}

public void setField1(String field1) {

this.field1 = field1;

}

public int getField2() {

return field2;

}

public void setField2(int field2) {

this.field2 = field2;

}

}

Пример создания объекта в языка Java: MyClass myClass = new MyClass();