
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
面向对象编程开发是目前大多数软件开发程序员都在使用的一种编程开发方式,下面我们就通过案例分析来了解一下,面向对象编程都有哪些开发原则。
1.重新审视对象的声明操作
如何声明对象变量会给对象的使用和性能带来重大的影响。
注意一定要使用正确的范围。在大多数情况下,你希望对象变量是私有的。如果只是在一个特定的程序中需要这个对象,就可以用Dim来声明它是属于那个程序私有的。如果在整个类或表单模块中都需要它的话,就应该用Private在那个类或表单的顶部声明它。按照习惯,在模块层声明的变量要加一个前缀"m_",以表示用于模块层或成员变量。如果需要从类外部使用对象变量,就不要将变量设成Public,宁可定义一个PropertyGet程序来使用对象变量,这样就防止了其它代码不用你不希望的方法去使用变量。
在声明中,总是使用类名称,而不要使用"AsObject",因为使用"AsObject"会使对象变量成为后期捆绑(late-bound)。这就意味着在运行时间之前,VisualBasic不知道你将使用的对象类型,因此它不能给你提供自动列表成分(对象属性和方法的下拉列表)。更重要的是,在运行时会对早期捆绑(early-bound)对象造成明显的性能冲击。
2.重视对象清除行为
当不再需要对象变量时,一定要释放它们,然后VB就会破坏与变量相联系的对象,从而释放应用程序中的内存。
3.封装的重大作用
Encapsulate(封装)从字面上讲就是放入封套或"放在一个壳子中"。从面向对象编程(OOP)的角度来看,这意味着将所有与一个对象相关的数据和处理都放在它的类中。
封装有时候指的是信息隐藏,因为你将对象的数据藏在了类的内部。如果其它的类需要使用数据,可以使用属性程序(.NET中的属性声明)来暴露这些数据。这个行为为类提供了控制,它控制用户可以如何观看或刷新数据,并且防止其它对象误用数据。
封装使得对象之间的交互作用变得简单化。一个对象不用知道另一个对象的全部数据或者其数据是如何管理的,就能够使用这个对象。例如,一个Customer对象可能有名字和地址属性以及电话号码、信用历史和其它相关域。如果一个Invoice对象想要使用一个Customer对象,它可以为发票请求名字和地址,而不需要知道Customer是从哪里获取那个数据的,或者其它数据元素是什么。
对于如何为可扩展的标记语言(XML)将文档对象模型(DOM)封装在一个包装类中的解决方案,请参考此文,这使你能够更容易地与一个XML文件进行交互作用,而不需要知道DOM的细节。
4.状态监视问题
良好的基于组件的开发技术会频繁地要求无状态的对象。无状态对象没有保持的属性,只有方法。你可以访问一个无状态的组件,执行方法,然后不需要获取方法调用间的任何数据就可以完成处理。
有一些OOP方面的文章提出没有属性的对象就不是对象。但是我们现在忽略这个语义上的问题,你可以创建有方法而没有属性的类。当你从事COM+或Web开发时,经常会需要这样做。一个ASP页面可以在一个组件上执行一个方法来完成一个特殊的处理,然后再释放组件,不用为管理对象状态而费心。
5.传递参数的可扩展性
参数提供了类的方法之间传递信息的途径。你需要用参数向方法传递任何必要的数据,特别是当你需要无状态对象的时候。
要想调用这个方法你必须传递这3个参数。但是如果你以后决定在定单上还需要电话号码,就必须修改函数签名,这就破坏了兼容性以及每个调用此方法的代码段。为了防止这个问题的发生,一个更好的解决方法是:在一个容器中传递参数。你可以使用记录集、变量数组或XML字符串来传递更普通的参数。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。