举个简单例子:
type
TMyClass = class
A: Integer;//第3行这里A: Integer;写在这儿是什么意思?它属于哪一类呀?
private
B: Integer;
FD: Integer;
procedure SetD(const Value: Integer);
protected
C: Integer;
public
D: Integer read FD write SetD;//这里搞这么麻烦有什么用意呢?直接写成D: Integer;不行吗?
published
E: Integer;
end;
procedure TMyClass.SetD(const Value: Integer);
begin
FD := Value;
end;
还有上面的private, protected, public, published有什么区别?
type
TMyClass = class
A: Integer;//第3行这里A: Integer;写在这儿是什么意思?它属于哪一类呀?
private
B: Integer;
FD: Integer;
procedure SetD(const Value: Integer);
protected
C: Integer;
public
D: Integer read FD write SetD;//这里搞这么麻烦有什么用意呢?直接写成D: Integer;不行吗?
published
E: Integer;
end;
procedure TMyClass.SetD(const Value: Integer);
begin
FD := Value;
end;
还有上面的private, protected, public, published有什么区别?
D是一种编程习惯吧,一般用于属性
private声明的只能供类内的方法使用
protected其子类可使用
public无限制,供对象使用,当然的类内方法也可使用
published为对象编辑器的可视化编程使用
http://lysoft.7u7.net
虽然这里
procedure TMyClass.SetD(const Value: Integer);
begin
FD := Value;
end;
是简单的实现,但是如果你改变以下你就能看到不同了
procedure TMyClass.SetD(const Value: Integer);
begin
if Value>10 then
FD := 1
else FD:=0;
end;