unit
unit1;
inte***ce
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, stdctrls;
type
tform1
=class
(tform)
button1: tbutton;
procedure
button1click(sender: tobject);
private
public
end;
//這個類中的兩個字段沒有封裝
tmyclass
=class
fname:
string
;fage: integer;
end;
//這個類中的兩個字段封裝了,外部不能讀寫
tmyclass2
=class
private
fname:
string
;fage: integer;
end;
//那怎麼讀寫?用屬性啊!
tmyclass3
=class
private
fname:
string
;fage: integer;
procedure
setage(
const
value: integer);
procedure
setname(
const
value:
string
);published
property
name:
string
read
fname
write
setname;
property
age: integer
read
fage
write
setage;
end;
(** 現在 tmyclass3 中的兩上字段:fname, fage 和兩個方法:setage,setname
* 都被封裝在私有區 private 內,不允許外部讀寫,只能是內部呼叫。
* 不過,private的封裝在本單元內是無效的!
* 現在好了,有了strict 識別符號。
*)tmyclass4
=class
strict
private
fname:
string
;fage: integer;
procedure
setage(
const
value: integer);
procedure
setname(
const
value:
string
);published
property
name:
string
read
fname
write
setname;
property
age: integer
read
fage
write
setage;
end;
varform1: tform1;
implementation
procedure
tmyclass3.setage(
const
value: integer);
begin
if(value
>0)
and(value
<
200)
then
fage :
=value;
end;
procedure
tmyclass3.setname(
const
value:
string
);begin
if''
<>
value
then
fname :
=value;
end;
procedure
tmyclass4.setage(
const
value: integer);
begin
if(value
>0)
and(value
<
200)
then
fage :
=value;
end;
procedure
tmyclass4.setname(
const
value:
string
);begin
if''
<>
value
then
fname :
=value;
end;
procedure
tform1.button1click(sender: tobject);
varclass3: tmyclass3;
class4: tmyclass4;
begin
class3 :
=tmyclass3.create;
//class3. 後面可以看到 fname,fage,setage,setname
class4 :
=tmyclass4.create;
//class4. 後面就看不到 fname,fage,setage,setname
class4.name :='
eboy';
class4.age :='
99';class3.free;
class4.free;
end;
end.
類的初步認識
c 一直被稱為是比c更高階的語言,為什麼呢?恐怕就是因為具有物件導向的設計思想,它 將萬千變化 錯綜複雜的外部環境有組織的 有規律的整合在了一起。從規律上,我們引入 了類的概念,將原本複雜的外部環境按照一定的規律和相似點,劃分為不同的類,常言道 物以類聚,鳥易群分嘛。我們在將類有機的進行區別和管理 ...
初步認識類
一 類的定義 class 類的名稱 首字母大寫 比如 class car 然後定義類的屬性 形參 再定義類的方法。class car def init self,make,model,age self.make make self.model model self.age age defget de...
對Static 類的認識
在學習 design pattern 的 singleton pattern 的時候,因為靜態初始化是在 net 中實現 singleton 的首選方法.1 public sealed class singleton28 9singleton 1012 13public static singlet...