一 、类级别的封装
类级别的封装是最常见的封装形式。
每个Object Pascal的类,有四种访问级别:private、protected、public、published。其
中,public的成员可以被外界的所有客户代码直接访问;published和public差不多,区别
仅在于published的成员可以被Delphi开发环境的Object Inspector所显示,因此一般将属
性或事件声明于published段;private成员为类的私有性质,仅有类本身和友元可访问;
protected成员基本与private类似,区别在于protected可以被该类的所有派生类访问。
在类级别的封装中,对外界的接口是public方法和published成员的集合,private和
protected的集合则属于类的实现细节。而对于该类的派生类来说,接口是public、published
与protected的集合,而只有private部分为内部实现细节。
二、 单元级别的封装
单元级别的封装包含的含义有:
1.在一个Unit中声明的多个类,互为友元类。
2.在一个Unit的interface部分声明的变量为全局变量,其他Unit可见。
3.在一个Unit的implementation部分声明的变量为该unit的局部变量,只在该Unit
可见。
4.每个Unit可有单独的初始化段(initialization)和反初始化段(finalization),可在
编译器支持下自动进行Unit级别的初始化和反初始化。