- •Ооп основано на понятии класса и объекта
- •Тип_возвр_знач имя_класса :: имя_метода (список, параметров) {реализация метода}
- •Параграф 2 Конструкторы и деструкторы (стр 272)
- •Параграф 3 - дружественные функции (файл op2) (стр 294)
- •Параграф 5 - перегрузка операций
- •Параграф 6 Статические компоненты класса (стр 506)
- •Параграф 8 - класс-контейнер (справочник 642)
- •Абстрактные классы и виртуальные функции
http://msdn.microsoft.com/ru-ru/library/z688wt03.aspx
ООП - объектно-ориентированное программирование
Шилдт Базовый курс стр 27
ООП основано на понятии класса и объектов класса, предполагает, что задачу можно разложить на составные части и каждая часть будет самостоятельным объектом. Все языки ООР характеризуются тремя общими признаками: инкапсуляция, полиморфизм и наследование.
Инкапсуляция – механизм программирование связывающий воедино код и данные, которые он обрабатывает
Полиморфизм – свойство, позволяющее использовать один интерфейс для целого класса действий. Общая концепция полиморфизма: в один интерфейс много методов. (позволяет реализовывать одинаковые алгоритмы для различных типов данных). Полиморфизм поддерживается как на уровне компиляции программы, так и при её выполнении.
Наследование – процесс, благодаря которому один объект может приобретать свойства другого объекта. Благодаря наследованию поддерживается концепция иерархической классификации.
три различных способа наследования: (стр 361)
public (наиболее частое), private and protected
отличаются способом, которым методы производного класса могут использовать методы производного класса.
Если базовый класс наследуется как public –класс, его public – члены становятся public-членами производного класса.
Если базовый класс наследуется как private –класс, его public – члены становятся private -членами производного класса.
Если базовый класс наследуется как prodected –класс, то все его открытые и закрытые члены становятся защищенными членами производного класса
Пример паблик наследования:
class A{
int a,
//тут еще чего-нибудь;}
class B: public A{ //В - производный класс А
int b;
B(int bb): b(b){};
Язык программирование - C++ (С with classes)
Ооп основано на понятии класса и объекта
Шилдт Базовый курс стр 266
Класс - механизм позволяющий программисту создавать свои собственные типы данных. (базовая единица инкапсуляции). Класс определяет новый тип данных, который задает формат объекта, следовательно класс связывает данные с кодом.
Объекты – экземпляры класса.
Класс объединяет в себе слeдующие компоненты - данные(date members), функции-члены (методы класса, member funсtions)
Особенность класса - класс может скрывать данные и часть методов от пользователей - Механизм защиты данных
Классы - абстрактные типы данных (АТД), класс реально не существует до тех пор, пока не создан хотя бы 1 объект этого класса. Примеры классов: класс телевизоров, группы студентов, книг...Вещественные числа, класс комплексных чисел)
класс - «группа»
объект - «110 группа»
класс позволяет разделить интерфейс и реализацию
Интерфейс описывает как классом пользоваться, в него входят функции-члены, которые может использовать программист для работы с классом. Реализация класса - набор функций-членов, и то как программист реализовал класс. Для пользования написанным другим программистом классов надо лишь понять интерфейс, а реализацию - не надо (не обязательно). Когда требуется изменить алгоритм внутри класса - нет необходимости изменять интерфейс, если интерфейс сохраняется разработчик может им пользоваться.
параграф 1 - определение класса.
Общий формат объявления класса:
class имя_класса
{
private: данные, методы;
public: данные, методы;
protected: данные, методы;
};
Список объектов;
private, public, protected - спецификаторы (маркеры) доступа, определяют где данные методы могут быть доступны (в какой части программы), по умолчанию private.
private - закрытая часть класса, может объявлять классы и методы, которые будут доступны только функциям-членам этого класса
никакие функции из вне не могут получить доступ к данным класса. (только методы класса)
public - открытый интерфейс класса (открытая часть класса). Доступ к классам и методам можно получить отовсюду, именно поэтому программист может пользоваться этим классом.
protected - защищенная часть класса, к этим данным имеют доступ методы производного класса. производный класс - потомок класса
Отличие структуры от класса - в структуре нет понятий public, private, protected - в структуре только public.
Оператор разрешения области видимости ::
Благодаря этому оператору компилятор определяет к какому классу принадлежит функция.
Тип_возвр_знач имя_класса :: имя_метода (список, параметров) {реализация метода}
Директивы препроцессора (Шилдт 570)
#ifndef ИМЯ_ФАЙЛА - если не определено определить (проверка что не было повторного переопределения)
Общий вид:
#ifdef макроимя // если определено выполнить инструкции
Последовательность инструкций
#endif
#define ИМЯ_ФАЙЛА - определить все что лишнее (вставить)
Используется для определения последовательности которая будет подставляться везде, где будет найден идентификатор (макроимя)
В общем виде: #define макроимя последовательность символов
#endif - завершение того, что надо вставить (завершение последовательности символов)