第二電腦網(wǎng)導(dǎo)讀:是面向過(guò)程語(yǔ)言所不能比擬的,本文所有程序設(shè)計(jì)例程均由DELPHI中的OBJECT PASCAL語(yǔ)言進(jìn)行描述。首先要說(shuō)明的是,本文不是和大家討論如何用可視化開(kāi)發(fā)平臺(tái)的IDE去設(shè)計(jì)程序的界面,也不用大篇幅的和大家討論各個(gè)控件VCL的應(yīng)用,不討論如何用開(kāi)發(fā)平臺(tái)去完成一個(gè)MIDAS/ADO/DCOM數(shù)據(jù)庫(kù)的開(kāi)發(fā)過(guò)程,本文只和大家簡(jiǎn)單,膚淺的討論面向?qū)ο笳Z(yǔ)言的技術(shù),和大家討論面向?qū)ο笳Z(yǔ)言內(nèi)在的規(guī)則,...
<iframe id="google_ads_frame1" style="LEFT: 0px; POSITION: absolute; TOP: 0px" name="google_ads_frame" marginwidth="0" marginheight="0" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-9414907233156792&output=html&h=250&slotname=5594755314&w=300&lmt=1267524486&flash=10.1.102.64&url=http%3A%2F%2Fwww.002pc.com%2Fmaster%2FCollege%2FLanguage%2FDelphi%2F12980_5.html&dt=1292297143640&shv=r20101117&jsv=r20101209&saldr=1&correlator=1292297143703&frm=0&adk=2114289378&ga_vid=2056410259.1292297144&ga_sid=1292297144&ga_hid=1170765305&ga_fc=0&u_tz=480&u_his=0&u_java=1&u_h=768&u_w=1024&u_ah=734&u_aw=1024&u_cd=32&u_nplug=0&u_nmime=0&biw=771&bih=458&eid=30143103&ref=http%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3DDelphi%25B3%25CC%25D0%25F2%25C9%25E8%25BC%25C6%25BC%25BC%25CA%25F5%25CC%25D6%25C2%25DB%26pn%3D80&fu=0&ifi=1&dtd=156&xpc=1l1lkerKiP&p=http%3A//www.002pc.com" frameborder="0" width="300" scrolling="no" height="250" allowTransparency="allowTransparency"></iframe><iframe style="VISIBILITY: hidden; POSITION: absolute" src="http://pagead2.googlesyndication.com/pagead/s/iframes_api_loader.html" width="1" height="1"></iframe>
正文:inherited create;
name:='gaohongyan';
age:=23;
school:='東北電力學(xué)院-電子商務(wù)系-2001級(jí)大專12班';
teacher:='zhaolifei';
end;
procedure tghyother.display;
begin
writeln(name);
writeln(age);
writeln(school);
writeln(teacher);
end;
end.
當(dāng)執(zhí)行完這個(gè)程序后,屏幕上出現(xiàn)這個(gè)結(jié)果:
gaohongyan
23
東北電力學(xué)院-電子商務(wù)系-2001級(jí)大專12班
zhaolifei
我們結(jié)合上面的例子不難看出在unit1中聲明的tghy類,在unit2中的tghyother是繼承自tghy類的,是tghy類的一個(gè)"孩子",它們是父子關(guān)系,而在tghy類中的name,age成員是聲明在protected保護(hù)成員中的,根據(jù)保護(hù)成員的特性,我們就可以在tghyother類的實(shí)例newobject中訪問(wèn)tghy中的成員內(nèi)容了,如果把tghy類中的name,age聲明在private私有成員中,那么是不可能被tghyother類的實(shí)例newobject所訪問(wèn)到的。
請(qǐng)切記,每天下班后把你認(rèn)為對(duì)孩子重要事情和他交流。
如果要想讓自己的派生類訪問(wèn)基類中的成員,聲明在protected段中。
1.0.5.3 公有成員public
每個(gè)人每天都會(huì)發(fā)生一些讓自己感到快樂(lè)的事情,你會(huì)告訴你的家人,你的朋友,你愿意把這個(gè)快樂(lè)和大家一起分享,如果是這樣的話,那就是public。
公有成員Public是把要公開(kāi)的信息發(fā)表出去的地方,你想把任何的消息讓任何人知道,就通過(guò)public發(fā)布出去。通過(guò)把向外界提供服務(wù)功能放在此部分中,實(shí)現(xiàn)向外界提供服務(wù)。
舉個(gè)例子:
新建一個(gè)工程,工程中包括一個(gè)工程文件,及一個(gè)單元文件。
工程文件內(nèi)容:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Unit1 in 'Unit1.pas',
Unit2 in 'Unit2.pas';
var
newobject:tghy;
begin
newobject:=tghy.create;
newobject.display;
newobject.free;
end.
單元文件1內(nèi)容:
unit Unit1;
interface
uses Dialogs;
type
tghy=class
public
constructor create;
procedure display; virtual;
end;
implementation
constructor tghy.create;
begin
end;
procedure tghy.display;
begin
writeln('this is public');
end;
end.
程序運(yùn)行后,屏幕上出現(xiàn)結(jié)果:
this is public
通過(guò)上面的這個(gè)例子,我們知道在工程文件中聲明一個(gè)tghy類的實(shí)例newobject能訪問(wèn)tghy類的public中的部分。通常一個(gè)類的方法就聲明在public中,來(lái)為其類的實(shí)例進(jìn)行任何的數(shù)據(jù)操作。
請(qǐng)切記,把你每天快樂(lè)的事情告訴給你的家人,朋友。
把你要發(fā)布的信息放到public中去,讓大家都知道。
1.0.5.4 發(fā)行成員published
如果您十分的熟悉DELPHI的開(kāi)發(fā)環(huán)境的話,那么屬性編輯器一定是您最常用的工具了,里面顯示了當(dāng)前控件的屬性,顯示了當(dāng)前控件的狀態(tài),里面顯示的狀態(tài)的內(nèi)容就是聲明在published里面的,我們可以參考一下delphi的源碼:
TControlScrollBar = class(TPersistent)
published
property ButtonSize: Integer read FButtonSize write SetButtonSize default 0;
property Color: TColor read FColor write SetColor default clBtnHighlight;
property Increment: TScrollBarInc read FIncrement write FIncrement stored IsIncrementStored default 8;
property Margin: Word read FMargin write FMargin default 0;
property ParentColor: Boolean read FParentColor write SetParentColor default True;
property Position: Integer read FPosition write SetPosition default 0;
property Range: Integer read FRange write SetRange stored IsRangeStored default 0;
property Smooth: Boolean read FSmooth write FSmooth default False;
property Size: Integer read FSize write SetSize default 0;
property Style: TScrollBarStyle read FStyle write SetStyle default ssRegular;
property ThumbSize: Integer read FThumbSize write SetThumbSize default 0;
property Tracking: Boolean read FTracking write FTracking default False;