Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
47 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
347.50 kB
Просмотров:
102
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
№2 слайд
Содержание слайда: Преимущества и недостатки ООП
Преимущества (при создании больших программ):
использование при программировании понятий, более близких к предметной области;
локализация свойств и поведения объекта о одном месте, позволяющая лучше структурировать и, следовательно, отлаживать программу;
возможность создания библиотеки объектов и создания программы из готовых частей;
исключение избыточного кода за счет того, что можно многократно не описывать повторяющиеся действия;
сравнительно простая возможность внесения изменений в программу без изменения уже написанных частей, а в ряде случаев и без их перекомпиляции.
Недостатки ООП:
некоторое снижение быстродействия программы, связанное с использованием виртуальных методов;
идеи ООП не просты для понимания и в особенности для практического использования;
для эффективного использования существующих ОО систем требуется большой объем первоначальных знаний.
№3 слайд
Содержание слайда: Свойства ООП
Инкапсуляция - скрытие деталей реализации; объединение данных и действий над ними.
Наследование позволяет создавать иерархию объектов, в которой объекты-потомки наследуют все свойства своих предков. Свойства при наследовании повторно не описываются. Кроме унаследованных, потомок обладает собственными свойствами. Объект в C++ может иметь сколько угодно потомков и предков.
Полиморфизм - возможность определения единого по имени действия, применимого ко всем объектам иерархии, причем каждый объект реализует это действие собственным способом.
№4 слайд
Содержание слайда: Технология разработки ОО программ
В процесс проектирования перед всеми остальными добавляется еще один этап - разработка иерархии классов.
в предметной области выделяются понятия, которые можно использовать как классы. Кроме классов из прикладной области, обязательно появляются классы, связанные с аппаратной частью и реализацией
определяются операции над классами, которые впоследствии станут методами класса. Их можно разбить на группы:
- связанные с конструированем и копированем объектов
- для поддержки связей между классами, которые существуют в прикладной области
- позволяющие представить работу с объектами в удобном виде.
Определяются функции, которые будут виртуальными.
Определяются зависимости между классами. Процесс создания иерархии классов - итерационный. Например, можно в двух классах выделить общую часть в базовый класс и сделать их производными.
№5 слайд
№6 слайд
№7 слайд
№8 слайд
№9 слайд
№10 слайд
№11 слайд
№12 слайд
№13 слайд
№14 слайд
№15 слайд
№16 слайд
№17 слайд
№18 слайд
№19 слайд
№20 слайд
№21 слайд
№22 слайд
№23 слайд
№24 слайд
№25 слайд
№26 слайд
№27 слайд
№28 слайд
№29 слайд
№30 слайд
№31 слайд
№32 слайд
№33 слайд
№34 слайд
№35 слайд
№36 слайд
№37 слайд
№38 слайд
№39 слайд
№40 слайд
№41 слайд
№42 слайд
Содержание слайда: Вложенные классы
Внутри класса допускается описание новых классов.
Описания этих классов будут доступны только внутри текущего класса.
Например:
class А {
class B{
....
};
};
Класс B доступен только внутри описания класса A.
№43 слайд
№44 слайд
Содержание слайда: Интерфейс и реализация
Клиент – часть программы, которая создает и использует объекты классы
Открытый интерфейс класса (объявление класса)
- соглашение с клиентом, как этот класс будет вести себя
class Cat
{
public:
Cat(int initialAge);
~Cat();
int GetAge() const; // const accessor function
void SetAge (int age);
void Meow();
private:
int itsAge;
};
№45 слайд
Содержание слайда: Продолжение примера
// конструктор класса Cat,
Cat::Cat(int initialAge)
{
itsAge = initialAge;
std::cout << "Cat Constructor\n";
}
Cat::~Cat() // деструктор не делает ничего
{
std::cout << "Cat Destructor\n";
}
int Cat::GetAge() const
{
return (itsAge++);
}
№46 слайд
Содержание слайда: // реализация открытой функции доступа SetAge,
void Cat::SetAge(int age)
{itsAge = age;}
//реализация метода Meow выводит на экран "Meow "
void Cat::Meow() { std::cout << "Meow.\n";}
//примеры различных нарушений интерфейса
int main()
{
Cat Frisky;
Frisky.Meow();
Frisky.Bark();
Frisky.itsAge = 7;
return 0;
}
№47 слайд