设计模式之特性"大杂烩"(二)

接口

接口是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。

一、 特点

1、实现了接口,雷就可以支持接口所指定的所有属性的成员。

2、声明接口在语法上与声明抽象类完全相同,但不允许提供接口中任何成员的执行方式。

3、实现接口的类就必须要实现接口中的所有方法和属性。

4、接口的命名,前面要加一个大写字母‘I’。

5、接口中的方法或属性前面不能有修饰符、方法没有有方法体。

二、抽象类与接口的区别

1、抽象类可以给出一些成员的实现,接口却不包含成员的实现。

2、抽象类的抽象成员可被子类部分实现,接口的成员需要实现类完全实现。

3、一个类只能继承一个抽象类,但是可实现多个接口。

4、类是对对象的抽象,抽象类是对类的抽象,接口是对行为的抽象。

5、行为跨越不同类的对象,可使用接口;对于一些类似的类对象,用继承抽象类。

6、从设计角度讲,抽象类是从子类中发现了公共的东西,泛化出父类,然后子类继承父类,二接口是根本不知道类的存在,方法如何实现还不确认,预先定义。

委托

委托可以简单的理解为一个类,是对函数的封装它定义了方法的类型,使得可以将方法当做另一个方法的参数来进行传递

一、特点

委托是一种引用方法的类型。一旦委托分配了方法,委托将与该方法具有完全相同的行为。委托对象用关键词delegate来声明。

二、优点

1、可以避免在程序中大量使用if。。。else(Switch)语句,同时使得程序具有更好的可扩展性。

2、可以讲多个方法绑定到同意个委托方法,当调用此方法时,可以一次调用所有绑定的方法。

事件

事件是委托的一种特殊形式,声明一个事件就类似于声明一个进行封装的委托类型的变量,当发生有意义的事情时,事件对象处理通知过程。

一、特点

事件是说在发生其他类或对象关注的事情是时,类或对象可通过事件通知他们。事件对象用event关键词声明。

二、委托与事件之间的关系

事件与处理方法之间的桥梁就是委托,事件发生了,委托就会知道,然后事件传递给接受方,接受方通过处理方法进行相应的处理。

时间: 2024-09-30 20:37:52

设计模式之特性"大杂烩"(二)的相关文章

设计模式之特性"大杂烩"(一)

封装 使每个对象都包含它能进行操作所需要的所有信息,可以不依靠其他的对象来独立完成自己的操作. 一.优点 1.类的内部的实现可以自由的修改. 2.类具有清晰的对外接口. 3.有良好的封装性,充分体现了高内聚低耦合. 继承 定义父类和子类,也可叫做基类和派生类,其中子类继承父类的所有特性.子类不但继承了父类的所有特性,还可以定义新的特性. 一.特点 1.子类拥有父类非private的属性和功能. 2.子类具有自己的属性和功能可以扩展父类没有的属性和功能. 3.对象的继承代表了一种"is-a&quo

C++设计模式之建造者模式(二)

3.省略指挥者Director的建造者模式 指挥者类Director在建造者模式中扮演非常重要的作用,简单的Director类用于指导具体建造者如何构建产品,它按一定次序调用Builder的buildPartX()方法,控制调用的先后次序,并向客户端返回一个完整的产品对象.Direcotr针对抽象的建造者进行编程,如果需要不同的建造者,只需把建造者传入指挥者类,无需修改之前的代码. 在有些情况下,为了简化系统结构,可以省略指挥者Director,指挥者不再指导产品的创建过程.而是在Builder

面向对象三大特性之二--【继承】

PHP中,一个类只能有一个父类,所谓继承就是去扩展父类,在设计类的时候,如果有两个或多个类有相同或者共用的部分,就将相同部分提取出来放到一个父类里面. 子类只能继承父类的公共属性和公共方法,如果父类的属性和方法有private修饰封装的话,子类是不能访问的(包括类的内部和外部),当然父类的对象也不能在外部访问,但如果是protected修饰的成员属性和方法,子类的类的内部是可以访问的($this),但子类的对象不能在外部访问. 继承的核心是扩展父类的方法,扩展方法包括两种,一种是添加父类中没有的

浅析JAVA设计模式之工厂模式(二)

1 工厂方法模式简介 工厂方法 (Factroy Method) 模式:又称多态性工厂模式(Polymorphic Factory),在这种模式中,核心工厂不再是一个具体的类,而是一个抽象工厂,提供具体工厂实现的接口,具体创建产品交由子工厂去做,抽象工厂不涉及任何产品被实例化的细节.而不同等级的产品,就对应一个不同等级的工厂,如下图. 图1 1.1工厂方法模式(多态性工厂模式): 工厂方法模式有三个角色: 1. 抽象产品接口 2. 具体产品类 3. 抽象工厂接口 4.具体工厂类. 1.2工厂方法

设计模式大总结(二)

上篇博客给大家介绍了六大原则和设计模式之间的关系,以及创建型模式和结构型模式 (http://blog.csdn.net/zhangzijiejiayou/article/details/32712779).本文将给大家介绍行为型模式. 行为型模式 是对在不同的对象之间划分职责和算法的抽象化. 观察者模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到 通知并被自动更新. 优点:在解耦合,让耦合的双方都依赖于抽象的接口而不是具体,从而使各自的变化都不会影响

设计模式之工厂模式 (二)

工厂模式分为三大类 简单工厂(SimpleFactory) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 动态工厂(Dynamic Factory,属于优化版简单工厂) 一.简单工厂 组成如下: (1) 工厂类角色:这是本模式的核心,含有一定的商业逻辑和判断逻辑.在java中它往往由一个具体类实现. (2) 抽象产品角色:它一般是具体产品继承的父类或者实现的接口.在java中由接口或者抽象类来实现. (3) 具体产品角色:工厂类所创建的对象就是此

Java经典23种设计模式之创造型模式(二)

本文记录5种创造型模式的剩下两种:建造者模式(Builder).原型模式(PROTOTYPE). 一.建造者模式(别名:生成者模式) 将复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示.一个完整的建造者模式包含以下几个概念: 1.产品类 Product public class Person { private String head; private String body; private String foot; public String getHead() { ret

NET Framework 4.5新特性 (二) 控制台支持 Unicode (UTF-16) 编码

从 .NET Framework 4.5 开始,Console 类支持与 UnicodeEncoding 类的 UTF-16 编码.  显示 Unicode 字符到控制台,你可以设置 OutputEncoding 属性为 UTF8Encoding 或 UnicodeEncoding. 下面的示例显示 Unicode 字符的范围到控制台中.  该示例接受三个命令行参数:显示范围的开头,显示范围的末尾,以及是否使用当前控制台编码 (false) 或 UTF-16 编码 (true).  假定控制台使

设计模式学习之旅(二)

一.工厂模式 工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象. 二.介绍 意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行. 主要解决:主要解决接口选择的问题. 何时使用:我们明确地计划不同条件下创建不同实例时. 如何解决:让其子类实现工厂接口