我自己做了。。但很多地方还是不行。。请大家帮忙修改一下啊谢谢了我只要一加上/*××××*/里面的代码就不能编译成功了。。谢谢了
现在附上题目,和我自己写的一个类和主文件:
题目--》
设计一个类THUMAN,含有变量name及属性AGE(采用直按方法设计)与属性SEX(采用set/get访问方法)设计,至少包含二个虚拟方法SPEAK,(带参数age的,在实例中将说-我AGE岁,;不带参数说-我是一个人)与一个抽象方法WORK,由THUMAN将产生两个子类,第一个TEACH,其WORK说-我批改作业,第二个STUDENT,其WORK说-我要做作业了。
unit Unitclass4333;interface
type
thuman=class
procedure work;
procedure speak;virtual;
/* procedure speak(Age:integer);virtual;*/----这里一加上就错
public
name:string;
//直接访问方法定义属性
private
fage:integer;
public
property age:integer read fage write fage;
//访问方法定义属性
private fsex:string;
public
procedure setsex(value:string);
function getsex:string;
property sex:string read getsex write setsex; end;
type
tstudent=class(thuman)
procedure work;
procedure speak;override;
end ;
implementation
uses dialogs;/** procedure thuman.speak(Age:integer); begin showmessage('Age'+age);
end;
**/--------------------------------------星号里面的一加和上面那段星号里的一加就错 procedure thuman.setsex(value:string);
begin
if fsex <>value then
fsex :=value;
end;
function thuman.getsex:string ;
begin
getsex:=self.fsex ;
end; procedure thuman.work;
begin
showmessage('我批改作业');
end;
procedure thuman.speak;
begin showmessage('thuman speak');
end;
procedure tstudent.work;
begin
showmessage('我要做作业了');
end;
procedure tstudent.speak;
begin
inherited speak;
showmessage('tdog speak');
end;end.
==================
上面是我写的类,下面是窗口界面unit Unit4333;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses Unitclass4333;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
human:thuman;
student:tstudent;
begin
human:=thuman.Create ;
human.work;
human.Destroy ;
human:=tstudent.Create ;
human.work;
student:=tstudent.Create ;
student.work ;end;procedure TForm1.Button2Click(Sender: TObject); var
human:thuman;
student:tstudent;
begin
human:=thuman.Create ;
human.speak;
human.Destroy ;
human:=tstudent.Create ;
human.speak ;
student:=tstudent.Create ;
student.speak ;end;procedure TForm1.Button3Click(Sender: TObject);
var
human:thuman;
begin
human:=thuman.Create;
human.age :=strtoint(Edit1.Text);
human.sex :=edit2.Text;showmessage('年龄:'+inttostr(human.age)+' 性别:'+human.sex );end;end.--
谢谢啦看了很久。。没办法就问了
现在附上题目,和我自己写的一个类和主文件:
题目--》
设计一个类THUMAN,含有变量name及属性AGE(采用直按方法设计)与属性SEX(采用set/get访问方法)设计,至少包含二个虚拟方法SPEAK,(带参数age的,在实例中将说-我AGE岁,;不带参数说-我是一个人)与一个抽象方法WORK,由THUMAN将产生两个子类,第一个TEACH,其WORK说-我批改作业,第二个STUDENT,其WORK说-我要做作业了。
unit Unitclass4333;interface
type
thuman=class
procedure work;
procedure speak;virtual;
/* procedure speak(Age:integer);virtual;*/----这里一加上就错
public
name:string;
//直接访问方法定义属性
private
fage:integer;
public
property age:integer read fage write fage;
//访问方法定义属性
private fsex:string;
public
procedure setsex(value:string);
function getsex:string;
property sex:string read getsex write setsex; end;
type
tstudent=class(thuman)
procedure work;
procedure speak;override;
end ;
implementation
uses dialogs;/** procedure thuman.speak(Age:integer); begin showmessage('Age'+age);
end;
**/--------------------------------------星号里面的一加和上面那段星号里的一加就错 procedure thuman.setsex(value:string);
begin
if fsex <>value then
fsex :=value;
end;
function thuman.getsex:string ;
begin
getsex:=self.fsex ;
end; procedure thuman.work;
begin
showmessage('我批改作业');
end;
procedure thuman.speak;
begin showmessage('thuman speak');
end;
procedure tstudent.work;
begin
showmessage('我要做作业了');
end;
procedure tstudent.speak;
begin
inherited speak;
showmessage('tdog speak');
end;end.
==================
上面是我写的类,下面是窗口界面unit Unit4333;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
Label1: TLabel;
Edit2: TEdit;
Label2: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
uses Unitclass4333;
{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
human:thuman;
student:tstudent;
begin
human:=thuman.Create ;
human.work;
human.Destroy ;
human:=tstudent.Create ;
human.work;
student:=tstudent.Create ;
student.work ;end;procedure TForm1.Button2Click(Sender: TObject); var
human:thuman;
student:tstudent;
begin
human:=thuman.Create ;
human.speak;
human.Destroy ;
human:=tstudent.Create ;
human.speak ;
student:=tstudent.Create ;
student.speak ;end;procedure TForm1.Button3Click(Sender: TObject);
var
human:thuman;
begin
human:=thuman.Create;
human.age :=strtoint(Edit1.Text);
human.sex :=edit2.Text;showmessage('年龄:'+inttostr(human.age)+' 性别:'+human.sex );end;end.--
谢谢啦看了很久。。没办法就问了
解决方案 »
- 求职:delphi研发,亲,有兴趣吗
- 找到一个很好的P2P,完整的服务端,和客户端直接编译
- delphi图像处理 对比度测试 过程?
- 请教一个关于label.caption的问题。
- asp调用dll输出一个乘法(怎样才能让fnuction 获得 procedure 内的变量结果~~)
- 各位大侠帮我看看这段查询代码,为何查不出结果呀.
- 为什么不能拒绝重复执行程序?
- 在登入窗口中,怎么判断所输入的用户名和密码可以通过.请给出例子.
- 交流和求教:如何合理地DOCK(停靠) DLL中的窗口。代码不算长,不算短,进入者需要有心理准备。PS:这里点名几位热心的大虾,请帮忙看一下:老鱼,老千,恶人,还有小新——5岁的那位。
- 如何在程序中打开一个。。。。
- 美女求救
- 为何重新读入流会报地址错误??急!
procedure speak(Age:integer);overload;virtual;