什么是面向对象(2)

术语

⒈ 
类作为设计蓝图来创建 对象代码段,它描述了对象的特征;该对象具有什么样的属性,怎样使用对象完成一些任务,他对事件进行怎样的响应等!
⒉  对象
对象是类的一个实例,通常通过调用类的一个 构造函数来创建它!
⒊  方法
方法是在类中定义的函数,一般而言,一个方法描述了 对象可以执行的一个操作!
⒋ 属性
属性是类中定义的 变量,类的属性突出刻画了 对象的性质或状态。某些情况下, 对象的使用者可能不允许改变对象的某些属性,这是因为类的创建者已经规定了那些属性不能被使用者更改。这就比如你只能知道我是男生,但你没有办法改变!
事件
VB是由事件触发!事件是由某个外部行为所引发的 对象方法。他可与用户行为(例如单击某个Button)或系统行为相关联。
⒍构造函数
构造函数是创建 对象所调用的特殊方法,在VB中,对象的创建是通过在给定的类中创建名为new的过程而实现的!
⒎ 析构 函数
析构函数是释放 对象时所调用的特殊方法,在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),即可以操作相关类型的 对象,好像它们是同一种公共类型一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值