![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 05.09.2010
Сообщений: 3
|
![]()
Создан класс в отдельном модуле. В нем есть поля: Автор, Название книги, Издательство, Дата издания, Количество страниц. Есть методы заполнения каждого поля в отдельности.
Задание: Нужно: Метод проверки двух книг на одного автора, Метод определения принадлежности книги конкретному автору. Прошу подсказать, как делать, не код, а просто в каком направлении двигаться. Заранее благодарен. |
![]() |
![]() |
![]() |
#2 | |
человек
Форумчанин
Регистрация: 11.05.2009
Сообщений: 517
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#3 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Да не, если речь идет о ООП, то, ИМХО, нужно начинать с создания класса.
БД - могут помочь хранить данные. Но вот SQL для решения самой задачи здесь не нужен. На основе запросов можно всю эту работу провернуть не прибегая к ООП вообще. А нужно именно ООП. ------------------------------------------------------------------------------------------------------------ kibrycker, опиши класс TBook, в нем свойства Author, Title, Publisher, PublicationDate, PagesNumber. Потом добавь метод function AuthorIs (AAuthor: stirng): boolean. Ну и, наконец, создай процедуру, которая проверяет 'одинаковость' авторов: Код:
Цитата:
Последний раз редактировалось Sibedir; 11.04.2013 в 06:54. |
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Но, в учебной задаче такое вполне себе логично и допустимо: метод книги TBook.IsAuthorEqual( OtherBook : TBook) : boolean; который проверит, переданный в неё объект имеет такого же автора или нет... |
|
![]() |
![]() |
![]() |
#5 |
Регистрация: 05.09.2010
Сообщений: 3
|
![]()
Надо именно через ООП
Вот созданный класс Код:
Последний раз редактировалось kibrycker; 11.04.2013 в 09:41. |
![]() |
![]() |
![]() |
#6 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Вот никогда за это не любил лабораторные по информатике. Дают задачу и предлагают решить её способом, который для этого не годится (всмысле, решить можно, но так делать не нужно). И главное, понимаешь это уже потом, спустя много лет. А когда делаешь лабораторную нет. Потом нечего удивлятся, что студенты не знают, с какого конца редьку едят.
У обучаемого должно сформироваться чёткое понимание того, для чего что он учит. Некий шаблон. А уж потом можно и творчество подключать. --------------------------------------------------------------------------------- Цитата:
Последний раз редактировалось Sibedir; 11.04.2013 в 09:41. |
|
![]() |
![]() |
![]() |
#7 | |
a.k.a. Skull
Форумчанин
Регистрация: 17.11.2009
Сообщений: 963
|
![]()
Так как задача чисто учебная, то для хранения можно использовать типизированый файл. При запуске работы считать данные из файла в динамический массив и работать уже с ним. При завершении сохранить все в файл.
Цитата:
Все тривиальное просто
|
|
![]() |
![]() |
![]() |
#8 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
----------------------------------------------------------------- Маленький рефакторинг Код:
Последний раз редактировалось Sibedir; 11.04.2013 в 10:06. |
|
![]() |
![]() |
![]() |
#9 |
Регистрация: 05.09.2010
Сообщений: 3
|
![]()
Всем спасибо, буду думать, пока занимаюсь другими предметами.
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
![]()
Собственно, о некоторой нелогичности задания уже было сказано.
Но мне кажется, что нелогичность требования сравнения вытекает из неправильно организованного класса. Класс должен описывать не отдельную книгу, а библиотеку целиком. Появляется массив структур, уникальный идентификатор книги, процедура AddBook... И при этом вполне логичной выглядит процедура сравнения двух книг библиотеки. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") | funnyy | Помощь студентам | 3 | 17.10.2012 17:40 |
Создание класса "Число" и методов | Alexar Makken | Общие вопросы Delphi | 3 | 05.12.2011 13:26 |
ООП Delphi разработка классов для реализации контейнера на основе структуры"упорядоченный динамический список" | naffy | Помощь студентам | 0 | 28.06.2011 00:22 |
Простая реализация собственного класса "vector" | Arnezami | Общие вопросы .NET | 8 | 27.11.2010 22:51 |