手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

VB.Net中文教程(8) 对象(Object)基本概念

来源:互联网 作者:西部数码 时间:2008-04-10
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

由于公司包含数个部门﹐所以公司与部门之间也是整体╱部分关系。此外﹐职员也是公司的成员﹐所以公司与职员之间也是整体╱部分关系。

由于组织与成员之间关系是府拾可得之整体╱部分关系﹐极为常见﹔因之﹐经由这种关系可找到有关之对象及类别。在设计软件时﹐可别忘了掌握此重要关系。事实上﹐软件也应表达出这种关系﹐才能使得软件中的对象结构与实物世界中的对象结构一致。
在对象导向程序设计之过程中﹐通常先于程序中定义有关之类别﹐再利用已定义之类别来诞生对象来与实物世界中的对象相对应﹐以便让软件更贴切地表示实际的系统之需求。因之﹐在找到对象之后(其方法如上节所述)﹐就确定它们的所属类别。确定了这些基本的类别之后﹐就经由「父子关系」找出有关的父类别或子类别﹐并且确定这些类别之间的关系。再接下来﹐就是利用对象之间的整体╱部分关系﹐来找出相关的对象﹐并进而找出相关之类别﹐并且确定这些类别之间的关系。
本书里﹐将以 VB.net语言来说明如何运用类别来组织对象﹐并像建造万里长城般有系统地将对象组织起来﹐形成既可靠又好用的现代软件。

4. 类别之设计

对象导向程序设计(Object-Oriented Programming 简称 OOP)之观念能大量简化计算机软件之复杂度﹐让人们更容易发展及维护软件。OOP 的两个最基本观念是﹕类别(Class) 及对象(Object)。俗语常说﹕「见树不见林」或「见林不见树」﹐其中的林就是「类别」﹐而林之组成元素──树就是「对象」了。依传统之程序写法﹐主要之程序设计工作是在于设计指令、叙述及函数等等﹔然而在OOP 之新观念中﹐写程序的主要工作在于──设计类别﹐亦即「造林」之工作。设计各式各样之类别后﹐再做「雕材」的工作﹐对树木做各种运用﹔亦即﹐使用类别之对象﹐而产生有价值之信息。请看如何设计一类别叫──Tree(树林)﹐其格式为﹕

Class Tree
品种
年龄
高度
End Class

此告诉计算机﹕对于树林中的树﹐将记录其 3种特性(Attribute) ──品
种、年龄及高度。例如有一棵树﹐其特性为﹕

品种﹕peach
年龄﹕8 年
高度﹕2.1 尺

这是树林中的一棵树﹐在计算机的Tree类别中﹐就必须有一「对象」(Object)和它对应并且储存它的特性。至于如何产生Tree类别之个体呢﹖其指令为﹕

Dim x As New Tree()

此时计算机就诞生对象 x。x 能储存此树之资料如下﹕


如果您想记录别棵树之资料﹐可再宣告Tree类别之对象如下﹕
Dim y As New Tree()

对象 y就可储存此树的资料了。实物上之关系﹕
树林 <----> 树

树林是一个集合(Set),一棵树是集合里的元素。其表现于计算机程序上是﹕
类别 <----> 对象

类别是一个集合,一个对象是集合里的元素。
此为 OOP之基本观念。类别设计之优劣常决定软件之生命和价值﹐好的设计其软件寿命源源流长﹐价值连城。类别之设计并非到此为止﹐还要继续做一项重要工作──分类(Classification)﹐亦即寻找「子类别」(Subclass)。例如﹕上述树林中的树若可分为两种──果树与竹子﹐则「树林」类别可分为两个子类别──「果树」与「竹子」。


图5 类别之细分(Refine)

此为实物上之类别关系。程序中的类别关系必须和实物上的情况相呼应。程序中的类别宣告格式为﹕

Class Tree
品种
年龄
高度
End Class

Class FruitTree
Inherits Tree
成熟月份
价格
End Class

Class Bamboo
Inherits Tree
用途
End Class

其中﹐FruitTtree及Bamboo是Tree之子类别(Subclass)﹔而Tree是FruitTree及Bamboo之父类别 (Super Class)。于程序中﹐其关系表示如下──

Class 类别
Inherits 父类别

FruitTree类别中含有两项新特性──「成熟月份」及「价格」。这告诉计算机说﹕对于果树﹐必须多储存两项资料。这两项资料是果树才有的﹐竹子就没有。Bamboo类别中含有一项新特性﹐这告诉计算机说﹕对于竹子﹐必须多储存一项资料──「用途」。这是竹子才有的资料﹐果树则无。例如﹕有一棵果树﹐其资料为﹕

品种﹕peach
年龄﹕8 年
高度﹕2.1 公尺
成熟月份﹕3 月
价格﹕20 元

在计算机中﹐必须宣告FruitTree类别之对象来储存这些资料。欲产生此对象﹐程序可写为﹕
Dim a As New FruitTree()

此时计算机就产生一个FruitTree类别之对象﹐叫 a。它包含5项资料──


其中包含了Tree类别内之 3项资料以及FruitTree类别专有之两项资料。因为Tree为FruitTree之父类别﹐所以FruitTree「继承」(Inherit) 其父类别Tree的 3个特性。


图 6 资料的继承

同理﹐如果有一棵竹子﹐其资料为﹕

品种﹕green
年龄﹕2 年
高度﹕10.0 公尺
用途﹕chopsticks

在计算机中﹐必须宣告Bamboo类别的对象来储存这些资料。欲产生此对象﹐程序可写为﹕ Dim b As New Bamboo()
此时﹐计算机就诞生一个Bamboo类别之对象 b。它可储存 4项资料──

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!