ЛР1. Инкапсуляция, разработка классов, создание и применение объектов
Используя в качестве основы ЛР4 с прошлого полугодия, разработать ее ООП-решение со следующими требованиями:
- (30)
Разработать класс TCustomPerson, включающий в себя персональные данные отдельной личности и средства доступа к ним
Разработать класс TPerson(TCustomPerson), включающий в себя средства обработки персональных данных отдельной личности
- (30)
Разработать класс TCustomPersonDB, для хранения объектов TCustomPerson и производных.
Разработать класс TPersonDB(TCustomPerson), для обработки объектов TPerson
- (20+20)
Разработать класс TPersonDBWorker, для обработки объекта TPerconDB.
Требования к классу TCustomPerson:
-
Все поля класса - строго приватные. Поле-массив детей должен содержать объекты TCustomPerson и производных.
-
Методы доступа к полям класса для чтения и (при необходимости) записи их содержимого.
Методы доступа к объектам массива детей, как по индексу, так и по идентификатору, метод добавления объектов в массив детей.
Требования к классу TPerson:
-
Методы чтения и записи в текстовый файл состояния объекта. Файловая переменная передается параметром методов,
предполагается, что файл заранее открыт.
-
Метод чтения со стандартного потока ввода состояния объекта.
Метод записи на стандартный поток вывода состояния объекта.
Требования к классу TCustomPersonDB:
-
Все поля класса - строго приватные.
Поле-массив персон должен содержать объекты TPerson.
-
Методы доступа к полям класса для чтения и (при необходимости) записи их содержимого.
Методы добавления и удаления объектов из массива персон. Методы получения индекса персоны по идентификатору и по объекту TPerson.
Методы получения объекта TPercon по индексу в массиве персон.
Требования к классу TPersonDB:
-
Методы чтения и записи в текстовый файл состояния массива персон. Имя файла передается параметром методов.
-
Метод чтения со стандартного потока ввода состояния массива персон.
Метод записи на стандартный поток вывода состояния массива персон.
Требования к классу TPersonDBWorker:
-
Все поля класса - строго приватные.
-
Конструктор в качестве параметра принимает объект TPersonDB.
-
Методы, решающие задачи 2.1-2.4 ЛР4 с прошлого полугодия