使用 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 ]