使用 Harbour 進行面向物件程式設計的應用程式開發
外觀
要理解什麼是面向物件程式設計,我們需要了解什麼是類和物件,以及它們之間的區別。可以說,類是建立物件的藍圖。一個比喻是:建造汽車的地圖就是類。地圖本身不是汽車,而是一種描述如何製造汽車的方法。具有特定實現的汽車是物件。例如,建造汽車的地圖描述了顏色、形狀/尺寸、重量等特徵,以及轉向、開關燈等行為。
這是一個類模板
[CREATE] CLASS <cClassName> [ FROM | INHERIT <cSuperClass1> [, ... ,<cSuperClassN>] ]
[ MODULE FRIENDLY ] [ STATIC ] [ FUNCTION <cFuncName> ]
[HIDDEN:]
[ CLASSDATA | CLASSVAR | CLASS VAR <DataName1>]
[ DATA | VAR <DataName1> [,<DataNameN>] [ AS <type> ] [ INIT <uValue> ]
[[EXPORTED | VISIBLE] | [PROTECTED] | [HIDDEN]] [READONLY | RO] ]
...
[ METHOD <MethodName>( [<params,...>] ) [CONSTRUCTOR] ]
[ METHOD <MethodName>( [<params,...>] ) INLINE <Code,...> ]
[ METHOD <MethodName>( [<params,...>] ) BLOCK <CodeBlock> ]
[ METHOD <MethodName>( [<params,...>] ) EXTERN <funcName>([<args,...>]) ]
[ METHOD <MethodName>( [<params,...>] ) SETGET ]
[ METHOD <MethodName>( [<params,...>] ) VIRTUAL ]
[ METHOD <MethodName>( [<params,...>] ) OPERATOR <op> ]
[ ERROR HANDLER <MethodName>( [<params,...>] ) ]
[ ON ERROR <MethodName>( [<params,...>] ) ]
...
[PROTECTED:]
...
[VISIBLE:]
[EXPORTED:]
...
[FRIEND CLASS <ClassName,...>]
[FRIEND FUNCTION <FuncName,...>]
[SYNC METHOD <cSyncMethod>]
ENDCLASS [ LOCK | LOCKED ]