策略设计模式能够根据所传递参数对象的不同而具有不同行为的方法,这类方法包含所要执行的算法中固定不变的部分,而策略包含变化的部分
package com.qq04;
class Processor {//处理器的类
public String name(){
return getClass().getSimpleName();
}
Object process(Object input){
return input;
}
}
package com.qq04;
class UpCast extends Processor{
/* (non-Javadoc)
* @see com.qq04.Processor#process(java.lang.Object)
* 向上转为大写将字符串
*/
@Override
String process(Object input) {//协变类型转换,返回值类型可以为父类中的返回值类型的子类型.
// TODO Auto-generated method stub
return ((String)input).toUpperCase();
}
}
package com.qq04;
import java.util.Arrays;
class Spliter extends Processor{
@Override
String process(Object input) {
// TODO Auto-generated method stub
return Arrays.toString(((String)input).split(" "));
}
}
package com.qq04;
public class Apply {//可以接受任何类型的Processor,并将其应用到Object对象上
public static void method(Processor p,Object o){
System.out.println("Using Processor"+p.name());
System.out.println(p.process(o));
}
public static String s="file edite refactor source";
public static void main(String[] args) {
method(new UpCast(), s);
method(new Spliter(),s);
}
}
本例中,策略就是要传递进去的参数对象,它包含要执行的代码,Processor就是一个策略,在main方法中可以看到各种类型的策略应用到String类型的s上-----------摘自<Thinking in Java>
相关推荐
文档中的“23种设计模式学习笔记.doc”可能包含了对这23种模式的详细解释和实例,而“设计模式之我爱我家.doc”可能从一个更生活化的角度来阐述设计模式的概念。“软件23种设计模式,超级经典的.pdf”可能是对这些...
### 面向对象的Java设计模式 #### 知识点概述 面向对象的设计模式是软件工程中的一个重要组成部分,尤其在Java这样的面向对象语言中更为关键。设计模式提供了一种解决常见问题的方法,并且能够帮助开发者更好地...
Java语言面向对象高级程序设计是计算机科学中的一个重要领域,它主要...这些知识点构成了Java面向对象高级程序设计的核心内容,学习者通过深入理解和实践,可以提升Java编程的技能,为软件开发和系统设计打下坚实基础。
6. 设计模式:在门禁系统的设计中,可能会用到如工厂模式(创建用户或门禁卡实例)、策略模式(根据用户权限决定是否允许通行)和状态模式(门的不同状态有不同的行为)等设计模式,以提高代码的可读性和可扩展性。...
在Java面向对象编程中,我们可以将门禁系统的设计看作是对实体(如门、用户、传感器等)和行为(如开门、关门、验证权限等)的抽象。 首先,我们从"门"这个概念出发,门可以被看作一个对象,具有属性如状态(打开或...
《JAVA面向对象编程》是IT领域内一部权威的教材,由资深软件工程师孙卫琴编著,本书系统地介绍了JAVA语言的面向对象编程思想与技术。面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它将程序...
Java面向对象程序设计中的设计模式是软件开发中的一种重要概念,它们是经过实践验证的解决方案模板,用于解决在特定场景下反复出现的问题。设计模式的使用有助于创建更易维护、可扩展性和可重用的系统。第8章主要...
1. "Design Patterns: Elements of Reusable Object-Oriented Software"(《设计模式:可重用面向对象软件的基础》),这本书由Gang of Four(GoF)撰写,是设计模式领域的经典之作。 2. "Head First Design ...
面向对象的23种设计模式是Java开发中的经典概念,旨在解决软件工程中常见的问题,提高代码的可读性、可扩展性和可维护性。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural ...
在这个"java面向对象课程设计 纸牌"项目中,我们可以深入理解这些概念并将其应用到实际的纸牌游戏中。 1. **类与对象**: - 在Java中,类是对象的蓝图,定义了对象的状态(数据成员)和行为(方法)。在这个纸牌...
内容包括统一建模语言基础知识、面向对象设计原则、设计模式概述、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、...
Java设计模式是面向对象编程领域中的重要概念,它是一套被广泛接受并实践的解决软件设计问题的经验总结。设计模式并非具体的代码或库,而是一种在特定情境下为了解决常见问题而制定的通用解决方案的描述。它们描述了...
在Java编程语言中,面向对象的设计是...通过以上这些知识点的运用,我们可以构建出一个功能完备、易于扩展的Java面向对象打印程序。实际开发中,还需要考虑线程安全、性能优化等问题,确保程序在多用户环境下稳定运行。
5. **设计模式**:在门禁系统中可能会应用到多种设计模式,如工厂模式(用于创建门的实例)、策略模式(用于定义不同的验证策略)和状态模式(用于表示门的不同状态及其转换)。 6. **事件驱动编程**:传感器检测到...
设计模式的应用不仅限于Java或C++等面向对象语言,也逐渐被引入到其他编程范式,如函数式编程和面向切面编程。理解并熟练运用设计模式是成为一名优秀软件工程师的关键步骤之一。通过不断实践和反思,开发者可以形成...
此外,设计模式是解决常见设计问题的最佳实践,比如策略模式,它定义了一组可互换的算法,并将它们封装起来,使得算法的变化独立于使用它的客户端。 在实际开发中,遵循这些原则和模式可以提高代码的可读性、可维护...
Java语言本身支持面向对象特性,因此设计模式非常适合Java开发者。例如: - **单例模式:** 在Java中可以通过私有构造函数、静态内部类等方式实现。 - **工厂模式:** 可以利用Java的接口和抽象类来定义产品接口,...
这个压缩包包含的23种设计模式是面向对象编程中的核心概念,它们是: 1. 创建型模式:单例模式(Singleton)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)、原型...
此外,《面向对象分析与设计(第3版)》还深入探讨了设计模式的应用,如单例模式、工厂模式、策略模式等,这些都是解决特定问题的有效方法,能够帮助开发者写出更优雅、更高效的代码。 总之,面向对象设计是现代...
在编程领域,设计模式是解决常见问题的经过验证的、可重用的解决方案。它们是经验丰富的软件开发人员智慧的结晶,旨在提高代码的可读性、可维护性和...现在就打开“设计模式Java版”的压缩包,开始你的设计模式之旅吧!