模式

来源:互联网 发布:mysql数据存放路径 编辑:程序博客网 时间:2024/04/29 21:22

类型是用来标识特定接口的一个名字。如果一个对象接受“Window”接口所定义的所有操作请求,那么我们就说该对象具有“Window”类型。一个对象可以有许多类型,并且不同的对象可以共享同一个类型。对象接口的某部分可以用某个类型来刻画,而其他部分则可用其他类型刻画。两个类型相同的对象只需要共享它们的部分接口。接口可以包含其他接口作为子集。当一个类型的接口包含另一个类型的接口时,我们是另一个类型的子类型。,另一个类型称之为它的超类型。我们常说子类型继承了它的超类型的接口。在面向对象系统中,接口是基本的组成部分。对象只有通过它们的接口才能与外部交流,如果不通过对象的接口就无法知道对象的任何事情,也无法请求对象做任何事情。对象接口与其功能实现是分离的,不同对象可以对请求做不同的实现,也就是说,两个有相同接口的对象可以有完全不同的实现。当给对象发送请求时,所引起的具体操作既与请求本身有关又与接受对象有关。支持相同请求的不同对象可能对请求激发的操作有不同的实现。发送给对象的请求和它的相应操作在运行时刻的连接就称之为动态绑定动态绑定是指发送的请求直到运行时刻佬受你的具体的实现的约束。因而,在知道任何有正确接口的对象都将接受此请求时,你可以写一个一般的程序,它期待着那些具有该特定接口的对象。进一步讲,动态绑定允许你在运行时刻彼此替换有相同接口的对象。这种可替换性就称为多态,它是面向对象系统中的核心概念之一。多态允许客户对象仅要求其他对象支持特定接口,除此之外对其假设几近于无。多态简化了客户的定义,使得对象间彼此独立,并可以在运行时刻动态改变它们相互的关系。设计模式通过确定接口的主要组成成分及经接口发送的数据类型,来帮助你定义接口。设计模式也许还会告诉你接口中不应包括哪些东西。设计模式也指定了接口之间的关系。描述对象的实现至此,我们提及到实际上怎么去定义一个对象。对象的实现是由它的类决定的,类指定了对象的内裤数据和表示,也定义了对象所能完成的操作。对象通过实例化类来创建,此对象被称为该类的实例。当实例化类时,要给对象的内部数据分配存储空间,并将操作与这些数据联系起来。对象的许多类似实例是由实例化同一个类来创建的。类的继承所接口继承的比较理解对象的类与对象的类型之间的差别非常重要。一个对象的类定义了对象是怎样实现的,同时也定义了对象的内部状态和操作的实现。但是对象的类型只与它的接口有关,接口即对象是响应的请求的集合。一个对象可以有多个类型,不同类的对象可以有相同的类型。当然,对象的类和类型是有紧密关系的。因为类定义了对象所能执行的操作,也定义了对象的类型。当我们说一个对象是一个类的实例时,即指该对象支持类所定义的接口。理解类继承和接口继承之间的差别也十分重要。类继承根据一个对象的实现定义了另一个对象的实现。简而言之,它是代码和表示的共享机制。然而,接口继承描述了一个对象什么时候能被用来替代另一个对象。对接口编程,而还是对实现编程类继承是一个通过复用父类

原创粉丝点击