Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Lazarus, Free Pascal, CodeTyphon
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2017, 18:45   #1
goto ∞
Форумчанин
 
Аватар для goto ∞
 
Регистрация: 21.12.2010
Сообщений: 155
По умолчанию Классы, объекты

Нужно поэтапно выполнить задачку
Разработать объектную программу для хранения и обработки данных о книгах, выставляемых на продажу в магазине. Книжный магазин рассматривается как набор тематических отделов, где каждый отдел имеет уникальное название. В свою очередь, каждый отдел рассматривается как набор книг, причем каждая книга имеет уникальное название, автора и параметр «Число экземпляров».

Разработка включает в себя определение необходимых объектов и описание их в виде классов, программную реализацию методов добавления и удаления отделов и книг с подсчетом суммарного числа книг

Этап 1 Разработка необходимых классов без программной реализации методов

Вот как я определил классы, IDE лазарус
Код:
type
    TOtdel = class
      private
               Name : string;
             Number : integer;
      public
             constructor Create; overload;
             constructor Create(pName : string; pNumber : integer); overload;
             destructor Destroy;
             function GetName : string;
             function GetNum  : integer;
             procedure SetNN(pName : string; pNumber : integer);

    end;

    type
      TBook = class
         private
            Name : string;
            Avtor: string;
            Count: byte;
         public
            constructor Create; overload;
            constructor Create(pName, pAvtor : string; pCount : integer); overload;
            destructor Destroy;
Вопрос 1 Правильно ли определены классы исходя из задачи
Вопрос 2 Куда пихнуть метод подсчета суммарного количества всех книг
goto ∞ вне форума Ответить с цитированием
Старый 07.09.2017, 17:45   #2
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Код:
type
      TBook = class
         protected
            FName : string;
            FAvtor: string;
            FCount: byte;
         public
             property Name : string read Name ;
             property Avtor: string read FAvtor;
             property Count: string read FCount;
             constructor Create(pName, pAvtor : string; pCount : integer); 
             destructor Destroy; override;
             procedure Assign(aBook: TBook);  // FName := aBook.Name ; FAvtor:= aBook.Avtor; FCount:= aBook.Count;
         end;


     TOtdel = class
      private
             FName : string;
             FNumber : integer;
             FBookList : array of TBook;
      protected
             function GetBookCount() : integer;   // result := Length(FBookList);
             function book(index :integer) : TBook ;   // if (index< GetBookCount) and (index>-1) then result := FBookList[index] else result:=nil;
      public
             property OtdelName : string read FName ;
             property OtdelNumber: string read FNumber;
             property BookCount : integer read GetBookCount;
             property Book[index : integer] : TBook reag GetBook;

             constructor Create(pName : string; pNumber : integer); 
             destructor Destroy; 
             procedure SetNN(pName : string; pNumber : integer); // FName =pName;  FNumber := pNumber 
             procedure AddBook(aBook : TBook); // SetLength(FBookList , Length(FBookList)+1); FBookList [high(FBookList)] := TBook.Create(); FBookList [high(FBookList)] .Assign(aBook );
    end;
95% сбоев и ошибок приложений, находится в полу метрах от монитора

Последний раз редактировалось JUDAS; 08.09.2017 в 10:11.
JUDAS вне форума Ответить с цитированием
Старый 11.10.2017, 12:04   #3
dummy_user
Форумчанин
 
Аватар для dummy_user
 
Регистрация: 02.03.2013
Сообщений: 109
По умолчанию

При беглом взгляде выглядит правильно.

И да, используйте TList или TObjectList для хранения объектов, а не массив.

Последний раз редактировалось Alex11223; 11.10.2017 в 12:09.
dummy_user вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объекты и классы lika1129970 Общие вопросы C/C++ 6 17.10.2013 23:09
КЛАССЫ И ОБЪЕКТЫ В С++ amneziya Помощь студентам 1 04.10.2011 20:32
классы и объекты vanek1 Помощь студентам 1 03.05.2011 23:58
С++ объекты и классы Шиншилка Помощь студентам 9 22.04.2011 20:19
Классы и объекты Valera Помощь студентам 8 22.04.2011 09:38