Разработка классов предметной области "Кошки"

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



ащает необходимое количество топлива.

  • Создать объект Motor2 класса Vehicle2, используя конструктор класса Vehicle1.
  • Присвоить объекту Motor1 данные объекту Motor2.
  • Ввести расстояние, и определить необходимое количество топлива для автомобилей Motor1 и Motor2.
  • Исходный текст Delphi приложения:

    unit Unit1;

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

    Dialogs, StdCtrls, Spin;

    TForm1 = class(TForm)

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Button1: TButton;

    Label4: TLabel;

    Button3: TButton;

    SpinEdit1: TSpinEdit;

    SpinEdit2: TSpinEdit;

    SpinEdit3: TSpinEdit; Button3Click(Sender: TObject); Button1Click(Sender: TObject);

    { Private declarations }

    public

    { Public declarations }

    end;

    TVehicle = class(TObject)

    Fseats, Ffuelcap, Fmpl: integer; Create1;;

    TVehicle1 = class(TVehicle)

    FPassengers, FFuel: byte; GetPassegers:byte; SetPassegers(N:byte); GetFuel:byte; SetFuel(N:byte); Getmpl:integer; Create2; Passengers:byte read GetPassegers write SetPassegers; Fuel:byte read GetFuel write SetFuel; mpl:integer read Getmpl; MaxDistance:byte; virtual;;

    TVehicle2 = class(TVehicle1) MaxDistance:byte; override;;

    Form1: TForm1;

    Motor: TVehicle;

    Motor1: TVehicle1;

    Motor2: TVehicle2; TVehicle.Create1; Create;

    Fseats:=1;

    FFuelcap:=1;

    Fmpl:=1;;

    {$R *.dfm}

    constructor TVehicle1.Create2; Create;

    Fseats:=2;

    FFuelcap:=2;

    Fmpl:=1;

    Passengers:=Fseats;

    Fuel:=FFuelcap div 2;; TVehicle1.GetPassegers:byte;

    Result:=FPassengers;; Tvehicle1.SetPassegers(N:byte); N>Fseats then FPassengers:=N else showmessage('Число пассажиров не может быть больше числа мест');; TVehicle1.GetFuel:byte;

    begin

    Result:=FFuel;;

    procedure Tvehicle1.SetFuel(N:byte); N>Ffuelcap then FFuel:=N else showmessage('указано число превышающее вместимость бака');; TVehicle1.Getmpl:integer;

    Result:=Fmpl;; TVehicle1.MaxDistance: byte;

    Result:=Ffuel div Fmpl;; Tvehicle2.MaxDistance:byte;

    Result:=Ffuel div (Fmpl-(Passengers-1));; TForm1.Button3Click(Sender: TObject);

    motor.Free;

    close;; TForm1.Button1Click(Sender: TObject);

    Motor:=TVehicle.Create1;

    Motor.Fseats:=strtoint(spinEdit1.Text);

    Motor.Ffuelcap:=strtoint(spinEdit2.Text);

    Motor.Fmpl:=strtoint(spinEdit3.Text);

    Label4.Caption:='Максимальное расстояние '+inttostr(Motor.Ffuelcap div Motor.Fmpl)+' км';

    end;

    3. Разработка структур классов (Кошки)

    Исходный текст программы, содержащей классы, служащие для описания объектов типа кошки:

    unit CatSource1;

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

    Dialogs, jpeg, ExtCtrls, StdCtrls;

    TForm1 = class(TForm)

    Edit1: TEdit;

    ComboBox1: TComboBox;

    Edit2: TEdit;

    Edit4: TEdit;

    Image1: TImage;

    GroupBox1: TGroupBox;

    GroupBox2: TGroupBox;

    GroupBox3: TGroupBox;

    Memo1: TMemo;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    Button5: TButton;

    Button6: TButton;

    Button7: TButton;

    Button8: TButton;

    Button9: TButton;

    Button10: TButton;

    Button11: TButton; Button1Click(Sender: TObject); Button2Click(Sender: TObject); Button3Click(Sender: TObject); Button4Click(Sender: TObject); Button5Click(Sender: TObject); Button6Click(Sender: TObject); Button7Click(Sender: TObject); Button8Click(Sender: TObject); Button9Click(Sender: TObject); Button10Click(Sender: TObject); Button11Click(Sender: TObject); FormActivate(Sender: TObject);

    { Private declarations }

    public

    { Public declarations }

    end;

    TCats1 = class(TObject)

    FName: string;

    FSex: byte; Create1; GetName:string; SetName(N:string); GetSex:string; SetSex(S:string); Name:string read GetName write SetName; Sex:string read GetSex write SetSex; CatDescription:string;;

    TCats2 = class(TCats1)

    //FAge: byte; Create2; GetAge:byte; SetAge(A:byte); Age:byte read GetAge write SetAge; CatDescription:string; virtual;;

    TCats3 = class(TCats2)

    //FBreed

    //FColor: string; Create3; GetColor:string; SetColor(C:string); Color:string read GetColor write SetColor; CatDescription:string; override;;

    Form1: TForm1;

    Cat1: TCats1;

    Cat2: TCats2;

    Cat3: TCats3;

    LastUsedCat:byte;

    {$R *.dfm}

    //constructors

    constructor TCats1.Create1; Create;

    Name:='Lucky';

    Sex:='male cat';; TCats2.Create2; Create1;

    Age:=1;; TCats3.Create3; Create2;

    Color:='black';;

    //functions and procedures for classes

    //TCats1

    function TCats1.GetName;

    Result:=FName;; TCats1.SetName(N:string);

    FName:=N;; TCats1.GetSex:string; FSex=1 then Result:='male cat' else Result:='female cat';; TCats1.SetSex(S:string); S='male cat' then FSex:=1 else if S='female cat' then Fsex:=0 else showmessage ('Пол указан неверно');; TCats1.CatDescription:string;

    Result:='This cat is a '+Sex+', name''s '+Name;;

    //TCats2

    function TCats2.GetAge:byte;

    Result:=FAge;; TCats2.SetAge(A:byte);

    FAge:=A;; TCats2.CatDescription:string; AgeDescription:string; Age<3 then ageDescription:='a young' else if Age<5 then ageDescription:='a mature' else AgeDescription:='an old';

    Result:='This cat is '+ageDescription+' '+Sex+', name''s '+Name;;

    //TCats3

    function TCats3.GetColor:string;

    Result:=FColor;; TCats3.SetColor(C:string);

    FColor:=C;; TCats3.CatDescription:string; AgeDescription:string; Age<3 then ageDescription:='a young' else if Age<5 then ageDescription:='a mature' else AgeDescription:='an old';

    Result:='This cat is '+ageDescription+' '+Color+' '+Sex+', name''s '+Name;;

    //Other things like button events handlers etc.

    procedure TForm1.Button1Click(Sender: TObject);