概念:定义一个操作中的算法的骨架,而将一些可变部分的实现延迟到子类中.模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤. 去个例子分析一下这个概念: public class Practice14 { public static void main(String[] args) { // TODO Auto-generated method stub //用父类的引用指向子类对象 Games g=new Boy(); g.play(); } } //男孩类 clas…
概念:定义了一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化. 接口抽象的就是某种方法. OO设计原则:1.面向接口编程  2.封装变化  3.多用组合,少用继承 public class Practice14 { public static void main(String[] args) { // TODO Auto-generated method stub //用父类的引用指向子类对象 Bird d=new BigBird("小白&qu…
一.抽象类 概   念:很多具有相同特征和行为的对象可以抽象为一个类:很多具有相同特征和行为的类可以抽象为一个抽象类 关键字:abstract 规   则:1.抽象类可以没有抽象方法,有抽象方法的类必须是抽象类 2.非抽象类继承抽象类必须实现所有抽象方法 3.抽象类可以有方法和属性 4.抽象类不能被实例化 5.抽象类不能声明为final(用final声明的类不能被继承,而抽象类就是要被别的类继承) public class Practice14 { public static void main…
一.抽象类 1.抽象方法:由abstract修饰.只有定义没有方法体.用一个分号结尾. 2.抽象类: 1)包含抽象方法的类必须是抽象类 2)由abstract修饰 3)不能被实例化 4)抽象类如果不被继承,就没有什么意义:一个类继承抽象类,必须重写起抽象方法(除非该类也声明为抽象类) abstract class Shape{ //声明抽象类 private double c; public Shape(double c){ this.c = c; } public abstract doubl…
模板方法模式(Templete method) 定义一个操作中的算法的骨架,而将一些可变部分的实现延迟到子类中,模板方法模式使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定的步骤. 例: package practice1; import java.util.Random; public class Test8 { public static void main(String []args){ Games g=new Girl(); g.play(); } } abstract cl…
一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构 合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业务实现了.当你需要再开发另一个相近的项目时,你以前的抽象层说不定还可以再次利用 .面对对象的设计,复用的重点其实应该是抽象层的复用,而不是具体某一个代码块的复用. 说到了抽象,我就不能不提到曾让我头痛的Java接口和Java抽象类了,这也是本文我想说的重点. 既然面向对象设计的重点在于抽象,那J…
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39806973 模板方法模式(Template Method):在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类能够再不改变算法结构的情况下,又一次定义算法中的某些步骤.简而言之:模板方法定义了一个算法的步骤.并同意子类为一个或多个步骤提供实现. 一.uml建模: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGh5…
本文源码:GitHub·点这里 || GitEE·点这里 一.生活场景 通常一款互联网应用的开发流程如下:业务需求,规划产品,程序开发,测试交付.现在基于模板方法模式进行该过程描述. public class C01_InScene { public static void main(String[] args) { DevelopApp developApp = new DevelopApp() ; developApp.templateMethod() ; } } /** * 软件开发抽象类…
模板方法模式(TemplateMethod),定义一个操作中的算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 结构图: 代码: 算法骨架: package cn.happy.design_pattern._07templatemethod; public abstract class AbstractClass { public abstract void primitiveOperation1(); public abstract…
Java面向对象之类和对象 一.面向对象概述 Java是完全的面向对象编程(Object Oriented Programming),简称OOP. 面向对象编程的思维方式更加符合大家的日常生活,因为我们的现实世界都是由各种各样的对象组成,大到飞机.火车.楼房,小到一只狗.笔记本电脑.一本书都是实实在在的对象.然而每个对象都有自己的状态和行为,我们可以通过对象来完成一定的任务. 例如:我们乘坐飞机从深圳飞到湘西去旅游,我们可以直接使用飞机的飞行能力,而不用管飞机这个对象是如何制造的.直接使用即可.…