
Основные понятия ооп. Вводная лекция.
Для начала выясним, что же такое объектно-ориентированное программирование и в чем его существенное отличие?
Объектно-ориентированное программирование – это система идей программирования, в которой основными концепциями являются понятия объектов и классов.
Представьте себе, что вы проектируете автомобиль. Вы знаете, что автомобиль должен содержать двигатель, подвеску, две передних фары, 4 колеса, и т.д. Ещё вы знаете, что ваш автомобиль должен иметь возможность набирать и сбавлять скорость, совершать поворот и двигаться задним ходом. И, что самое главное, вы точно знаете, как взаимодействует двигатель и колёса, согласно каким законам движется распредвал и коленвал, а также как устроены дифференциалы. Вы уверены в своих знаниях и начинаете проектирование. Вы описываете все запчасти, из которых состоит ваш автомобиль, а также то, каким образом эти запчасти взаимодействуют между собой. Кроме того, вы описываете, что должен сделать пользователь, чтобы машина затормозила, или включился дальний свет фар. Результатом вашей работы будет некоторый эскиз. Вы только что разработали то, что в ООП называется класс. Класс – это способ описания сущности, определяющий состояние и поведение, зависящее от этого состояния, а также правила для взаимодействия с данной сущностью.
Рассмотрим создание класса пользователем и применение класса, созданного пользователем, в программе.
Объявление класса:
class <имя класса>
{
public:
<объявление переменных, констант, функций>
private:
<объявление переменных, констант, функций>
protected:
<объявление переменных, констант, функций>
};
Объявление класса начинается с ключевого слова class. Переменные, константы, функции, включенные в класс, называются членами класса. Члены класса объявляются в одном из трех разделов класса: public, private, protected. Включение члена класса в тот или иной раздел влияет на доступность этого члена для объектов других классов.
Раздел public обеспечивает доступность помещенных в него свойств и методов для любых объектов. Это внешняя часть класса, или интерфейс его взаимодействия с другими классами.
Раздел private обеспечивает сокрытие помещенных в него свойств и методов от других объектов, делая их недоступными объектам других классов. Таким образом, класс защищает свои данные (свое состояние) от внешнего воздействия. Посторонний объект может воздействовать на объект данного класса только через интерфейс этого класса.
Раздел protected позволяет, используя механизм наследования, передавать включенные в него члены класса по наследству.
Вы отлично потрудились и машины, разработанные по вашим чертежам, сходят с конвейера. Вот они, стоят ровными рядами на заводском дворе. Каждая из них точно повторяет ваши чертежи. Все системы взаимодействуют именно так, как вы спроектировали. Но каждая машина уникальна. Они все имеют номер кузова и двигателя, но все эти номера разные, автомобили различаются цветом, а некоторые даже имеют литьё вместо штампованных дисков. Эти автомобили, по сути, являются объектами вашего класса.
Объект – это сущность, способная сохранять свое состояние (информацию) и обеспечивающая набор операций (т.е. поведение) для проверки и изменения этого состояния.
Говоря простым языком, объект имеет конкретные значения атрибутов и методы, работающие с этими значениями на основе правил, заданных в классе. В данном примере, если класс – это некоторый абстрактный автомобиль из «мира идей», то объект – это конкретный автомобиль, стоящий у вас под окнами.
Объект состоит из следующих трех частей:
имя объекта;
состояние (переменные состояния);
методы (операции).
Типы переменных.
|
||
Тип |
байт |
Диапазон принимаемых значений |
целочисленный (логический) тип данных |
||
bool |
1 |
0 / 255 |
целочисленный (символьный) тип данных |
||
char |
1 |
0 / 255 |
целочисленные типы данных |
||
int |
4 |
-2 147 483 648 / 2 147 483 647 |
типы данных с плавающей точкой |
||
float |
4 |
-2 147 483 648.0 / 2 147 483 647.0 |
double |
8 |
-9 223 372 036 854 775 808 .0 / 9 223 372 036 854 775 807.0 |
Тип данных bool
Первый в таблице — это тип данных bool. У логического выражения может быть один из двух результатов true или false. true - если логическое выражение истинно (т.е. равно 1), false - если логическое выражение ложно (равно 0).