Лекция 7. Введение в ООП через практику. Часть 2 Красс Александр СПбГУ ИТМО, 2008
2 Будем продолжать делать прототип книжного склада
3 Вспомним прошлую лекцию
4 Ручное тестирование – каторга
5 Используем файлы для ввода ifstream if(input.txt); char str[20]; int i; if >> str >> i; cout << " i = " << i << endl; cout << " str = " << str << endl;
6 Используем файлы для вывода ifstream of("output.txt"); char str[] = "A string"; int i = 15; of << str << i;
7 Книжный склад Должны уметь находить все книги с указанным пользователем: –названием –одним из авторов –номером стеллажа хранения. Просматривать все известные данные о найденных книгах. Добавление новых наименований книг. Новые поступления существующих наименований.
8 Книжный склад Для каждой книги нужно хранить: –название –список авторов –издательство –номер стеллажа –число экземпляров.
9 Книжный склад struct Book { char *title; char *authors; // or // char **authors; char *publishingOffice; int shelf; int count; };
10 Требования Как можно больше группировать последовательности связанных операторов в функции. Например, могут быть функции для поиска по названию книги, для добавления нового наименования и т.д.
11 Теперь сегодняшняя лекция
12 Что будем сегодня делать? Подумаем как разбивать код на функции Посмотрим на работу книжного склада с точки зрения реального мира Поймём как это можно использовать с точки зрения ООП Увидим разницу между ООП и структурным программированием
13 Посмотрим на работу книжного склада с точки зрения реального мира
14 Какие нам нужны сущности для работы книжного склада? Какие операции они должны совершать?
15 Сущности Книга Карточка книги Заведующий складом
16 Классы Книга – Book Карточка книги – BookCard Заведующий складом – BookStorage
17 Спасибо за внимание Вопросы?