术语
⒈
类
⒉
对象
⒊
方法
方法是在类中定义的函数,一般而言,一个方法描述了
对象可以执行的一个操作!
⒋ 属性
属性是类中定义的
变量,类的属性突出刻画了
对象的性质或状态。某些情况下,
对象的使用者可能不允许改变对象的某些属性,这是因为类的创建者已经规定了那些属性不能被使用者更改。这就比如你只能知道我是男生,但你没有办法改变!
⒌
事件
VB是由事件触发!事件是由某个外部行为所引发的
对象方法。他可与用户行为(例如单击某个Button)或系统行为相关联。
⒍构造函数
⒎ 析构
函数
析构函数是释放
对象时所调用的特殊方法,在VB中,为了编写析构函数,我们必须重写
基类的Dispose方法。但是,由于CLR自动进行垃圾收集,因此在受管代码中很少需要显式得调用
析构函数。然后,当运行CLR之外的资源(如设备,
文件句柄,网络连接等)时,应调用Dispose方法确保计算机的性能!
⒏
继承
⒐
重写
⒑
接口
⒒
封装
封装是一个概念,它的含义是把方法、属性、事件集中到一个统一的类中,并对使用者屏蔽其中的细节问题一个关于的封装的实例是小汽车——我们通过操作方向盘、刹车和加速来操作汽车。好的
封装不需要我们考虑燃料的喷出、流动问题等。
⒓
重载
他规定一个方法可以具有不同的实现,但方法的名称是相同的。
⒔
多态
它规定,一个同样的函数对于不同的
对象可以具有不同的实现。例如一个Add方法,它既可以执行整数的加法求和操作,也可以执行字符串的连接操作!
模型
对象模型
对象模型表示了静态的、结构化的系统数据性质,描述了系统的静态结构,它是从客观世界实体的对象关系角度来描述,表现了对象的相互关系。该模型主要关心系统中
对象的结构、属性和操作,它是分析阶段三个模型的核心,是其他两个模型的
框架。
⒈
对象和类
⑴
对象。
⑵ 类。
通过将对象
抽象成类,我们可以使问题抽象化,抽象增强了模型的归纳能力。
⑶ 属性。
属性指的是类中
对象所具有的性质(数据值)。
⑷ 操作和方法。
方法是类的操作的实现步骤。
⒉关联和链
关联是建立类之间关系的一种手段,而链则是建立
对象之间关系的一种手段。
⑴ 关联和链的含义。
⑵ 角色。
角色说明类在关联中的作用,它位于关联的端点。
⑶ 受限关联。
受限关联由两个类及一个限定词组成,限定词是一种特定的属性,用来有效的减少关联的重数,限定词在关联的终端
对象集中说明。
限定提高了语义的精确性,增强了查询能力,在现实世界中,常常出现限定词。
⑷ 关联的多重性。
关联的多重性是指类中有多少个
对象与关联的类的一个对象相关。重数常描述为“一”或“多”。
⒊类的层次结构
⑴ 聚集关系。
聚集是一种“整体-部分”关系。在这种关系中,有整体类和部分类之分。聚集最重要的性质是传递性,也具有逆对称性。
聚集可以有不同层次,可以把不同分类聚集起来得到一颗简单的聚集树,聚集树是一种简单表示,比画很多线来将部分类联系起来简单得多,
对象模型应该容易地反映各级层次。
⑵一般化关系。
一般化关系是在保留
对象差异的同时共享对象相似性的一种高度
抽象方式。它是“一般---具体”的关系。一般化类称为你类,具体类又能称为子类,各子类
继承了父类的性质,而各子类的一些共同性质和操作又归纳到你类中。因此,一般化关系和
继承是同时存在的。一般化关系的符号表示是在类关联的连线上加一个小三角形。
⒋
对象模型
⑴模板。模板是类、关联、一般化结构的逻辑组成。
⑵
对象模型。
动态模型
动态模型是与时间和变化有关的系统性质。该模型描述了系统的控制结构,它表示了瞬间的、行为化的系统控制
性质,它关心的是系统的控制,操作的执行顺序,它表示从
对象的事件和状态的角度出发,表现了对象的相互行为。
该模型描述的系统属性是触发事件、事件序列、状态、事件与状态的组织。使用
状态图作为描述工具。它涉及到事件、状态、操作等重要概念。
⒈事件
事件是指定时刻发生的某件事。
⒉状态
⒊
状态图
状态图反映了状态与事件的关系。当接收一事件时,下一状态就取决于当前状态和所接收的该事件,由该事件引起的状态变化称为转换。
状态图是一种图,用结点表示状态,结点用圆圈表示;圆圈内有状态名,用箭头连线表示状态的转换,上面标记事件名,箭头方向表示转换的方向。
功能模型
功能模型描述了系统的所有计算。功能模型指出发生了什么,
动态模型确定什么时候发生,而
对象模型确定发生的
客体。功能模型表明一个计算如何从输入值得到输出值,它不考虑计算的次序。功能模型由多张
数据流图组成。
数据流图用来表示从源
对象到目标对象的数据值的流向,它不包含控制信息,控制信息在
动态模型中表示,同时数据流图也不表示对象中值的组织,值的组织在对象模型中表示。图10-15给出了一个窗口系统的图标显示的
数据流图。
⒈处理
⒉数据流
⒊动作
对象
⒋数据存储对象
对象的引入和应用
对象支持
继承(inheritance)的概念,即一个派生类(derived class)继承
基类(base class)的字段和方法。
继承也允许把一个派生类的
对象作为一个
基类对象对待。例如,有这样一个设计:一个Dog类型的
对象派生自Animal类,这是
模拟“是一个(is-a)”关系(例图,Dog是一个Animal)。这样,可以隐式地把一个Dog类型的引用转换成Animal类型。这里的隐式是指这个转换以一个简单的
赋值表达式形式进行。反之,如果某个Animal类型的
对象引用指向的是一个Dog类创建的对象,可以通过转换操作符显式地把一个Animal类型引用转换成Dog类型。这个概念称为
多态(polymorphism),即可以操作相关类型的
对象,好像它们是同一种公共类型一样。