




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、南阳理工学院软件学院Delphi开发基础封装和成员可见性南阳理工学院软件学院Delphi开发基础n与记录类型强调将各种不同的数据组织在一起形成结构化数据不同,类类型更加强调类中成员的封装。n即不仅将数据、代码等各种成员组织在一起,更要讲究组织成员的方式,以保证代码的可扩展性和可重用性。南阳理工学院软件学院Delphi开发基础封装n在面向对象的程序设计中,有一个好的封装是十分重要的。n一方面要尽可能的将类中的内部数据、内部方法设为私有,以防止外界对其任意改动从而影响类功能的实现。n另一方面,要提供良好的接口,使用户能够根据需要方便的设定类的特征或调用类的功能。n同时,还应该考虑类的继承关系以及实
2、现多态的需要。南阳理工学院软件学院Delphi开发基础n一个优秀的面向对象设计,应当将其中的关键数据和关键代码对外界隐藏起来,不允许外界随意使用,这样,不仅能够有效的保证类中数据的安全性和完整性,也有利于今后的修改和功能扩展。南阳理工学院软件学院Delphi开发基础n封装使得类成为功能相对独立的模块,从而大大提高了类的可重用性,也提高了用户使用类的便捷性。n因为用户不需要关心类的功能是如何实现的,只要正确调用类所提供的各种接口就可以达到程序设计的目的南阳理工学院软件学院Delphi开发基础内聚和耦合n内聚和耦合是封装的两个方面,它们是面向对象程序设计中的非常重要的概念。南阳理工学院软件学院De
3、lphi开发基础内聚n指的是程序设计的“单纯性”。要达到这一目的,每一个成员函数就应当尽可能只做一件事情,从而为创建可重用代码提供更大的方便。南阳理工学院软件学院Delphi开发基础耦合n指类与类之间的相互联系方式n相互耦合的对象经常需要相互引用对方的内部部件。而过多地依赖必定大大降低对象的可重用性,因为它们相互依赖,我们不能在没有另一个的情况下使用这一个。n解决这个问题的最好方法是保持单耦合点,通常将对象之间的耦合限定为例程接收和返回的参数。南阳理工学院软件学院Delphi开发基础Visibility of class members(类成员的可见性) 类的每个成员都有一个称为可见性的属性,
4、我们用下面的关键字之一来表示它:private、protected、public、published 和automated。比如published property Color: TColor read GetColor write SetColor;声明一个叫做Color 的published 属性。可见性决定了一个成员在哪些地方以及如何能被访问,private表示最小程度的访问能力,protected 表示中等程度的访问能力,public、published 和automated 表示最大程度的访问能力。若声明一个成员时没有指定其可见性,则它和前面的成员拥有相同的可见性;若在类声明的开始没
5、有指定可见性,当在$M+状态下编译类时(或者继承自一个在$M+状态下编译的类),它的默认可见性是published,否则,它的可见性是public。为可读性考虑,最好在声明类时用可见性来组织成员:把所有的private 成员组织在一起,接下来是所有的protected 成员,依此类推。用这种方法,每个可见性关键字最多出现一次,并且标明了每个新段的开始。在每一段中,都应当遵循先数据域,再方法,再属性的顺序进行定义。南阳理工学院软件学院Delphi开发基础典型的类声明typeTMyClass = class(TControl)private. private declarations herepr
6、otected. protected declarations here public. public declarations here published. published declarations here end;南阳理工学院软件学院Delphi开发基础Private(私有)n私有部分的成员只能被该类的其他成员访问南阳理工学院软件学院Delphi开发基础Protected(保护部分)n保护部分的成员除了可以被该类的其他成员访问之外,还可以在该类所有派生类的内部被访问。南阳理工学院软件学院Delphi开发基础Public(公共部分)n公共部分的成员可以被任何类以任何方式访问。南阳理工
7、学院软件学院Delphi开发基础Published(发布部分)n发布部分的成员具有与公共部分成员一样的可见性,不仅如此对于安装在组件面板的组件类来讲,他们还可以在设计期通过对象监视器进行访问。南阳理工学院软件学院Delphi开发基础n对于类中三种成员来讲n数据域:privaten属性:public or published(组件类)n方法:private(公共方法调用的内部方法) public(供外界使用的方法) protected(提 供给派生类使用以及 用来实现多态的方法)南阳理工学院软件学院Delphi开发基础Delphi的单元封装特性n在delphi中,除了可以使用可见性保留字来实现信
8、息隐藏之外,还可以使用单元的封装特性来实现信息的隐藏南阳理工学院软件学院Delphi开发基础n在同一个单元中声明的多个类之间,其成员可以完全自由地相互访问,而不受私有和保护等可见性的区别。n在单元实现部分声明的类,对于其他成员来讲,其成员总是不可见的。南阳理工学院软件学院Delphi开发基础Unit unit2interface type TA=class private i:integer; protected b:boolean; public c:char; end;南阳理工学院软件学院Delphi开发基础Unit unit3IntefaceUses unit2Type TAA=clas
9、s(TA) r:real; private procedure RR;End;ImplementionProcedure TAA.RRBegin i:=8;/不合法 b:=true; c:=c;End;南阳理工学院软件学院Delphi开发基础Unit unit4IntefaceUses unit3Type TAAA=class(TAA) s:string; procedure RS;End;ImplementionProcedure TAAA.RS;Begin RR;/不合法 i:=9;/不合法 b:=false; r:=3.44;End;南阳理工学院软件学院Delphi开发基础Unit unit1Uses unit2,unit3,unit4;Var A:TA; AA:TAA; AAA:TAAA;Begin A:=TA.create; A.i:=1; A.b:=true; AA:=TAA.create; AA.i:=2; AA.b:=true; AA.RR; AAA:=TAAA.create; AAA.i:=3; AAA.c:=M; AAA.RS; A.free; AA.free; AAA.free;南阳理工学院软件学院Delphi开发基础继承性(Inheritance)n指的是一个对象根据另一个对象的一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四下语文第七八单元教学课件
- 2025员工兼职合同范本
- 2025授权书合同模板
- 彩色的树绘画课件
- 2025高级工程师职称聘用合同
- 2025高中物理教师课标考试模拟试卷附参考答案(三套)
- 《2025年个人住房贷款合同填写指南》
- 2025年大型设备租赁合同
- 2025员工保密合同模板下载
- 2025物业装修工程委托审价合同样本
- 统编版语文六年级下册第一单元“民风民俗”作业设计
- 改革开放与新时代知到智慧树章节测试课后答案2024年秋同济大学
- 双全日培训课件
- 甲油胶行业报告
- 医务人员职业暴露与防护讲课
- 山东省莱西市2024-2025学年高一语文下学期3月月考试题含解析
- 康复科人员岗位考核制度(3篇)
- 实验动物生物样本质量控制规范
- 智能机器人配送行业现状分析及未来三至五年行业发展报告
- 炎症性肠病的外科治疗
- 复变函数与积分变换课程教案讲义
评论
0/150
提交评论