類 認識類的封存裝

2021-09-05 22:00:41 字數 3029 閱讀 2099

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...