Разработка классов предметной области "Кошки"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
ащает необходимое количество топлива.
Исходный текст 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);