Java中抽象类:模板设计模式与简单工厂设计模式
2016-08-07 13:25
399 查看
package cn.mdln.program;
/**
* 抽象类:模板设计模式与简单工厂设计模式(类工场)组合使用
* @author Administrator
*
*/
public class PracticeTEstDemo6 {
public static void main(String[] args) {
Personn per1=Factorys.get("Student");
fun(per1);
Personn per2=Factorys.get("Teacher");
fun(per2);
Personn per3=Factorys.get("Educategovern");
fun(per3);
}
public static void fun(Personn per)
{
per.prepare();
per.reflact();
}
}
abstract class Personn
{
abstract public void prepare();
abstract public void reflact();
}
class Student extends Personn{
public Student()
{
}
@Override
public void prepare()
{
System.out.println("\t考试了,学生准备开始复习");
}
@Override
public void reflact()
{
System.out.println("\t |--考完了,学生查看成绩,看是否及格");
}
}
class Teacher extends Personn{
public Teacher()
{
}
@Override
public void prepare()
{
System.out.println("\t考试了,老师准备开始出题");
}
@Override
public void reflact()
{
System.out.println("\t |--考完了,老师查看成绩,看考的情况");
}
}
class Educategovern extends Personn{
public Educategovern()
{
}
@Override
public void prepare()
{
System.out.println("\t考试了,教务处安排考试时间");
}
@Override
public void reflact()
{
System.out.println("\t |--考完了,教务处查看成绩,进行教师评比");
}
}
class Factorys
{
public Factorys()
{
}
public static Personn get(String title)throws NullPointerException
{
if("student".equalsIgnoreCase(title))//忽视大小写的比较
return new Student();
else if("teacher".toLowerCase().equalsIgnoreCase(title))
return new Teacher();
if("educategovern".equalsIgnoreCase(title))
return new Educategovern();
else
return null;
}
}
/**
* 抽象类:模板设计模式与简单工厂设计模式(类工场)组合使用
* @author Administrator
*
*/
public class PracticeTEstDemo6 {
public static void main(String[] args) {
Personn per1=Factorys.get("Student");
fun(per1);
Personn per2=Factorys.get("Teacher");
fun(per2);
Personn per3=Factorys.get("Educategovern");
fun(per3);
}
public static void fun(Personn per)
{
per.prepare();
per.reflact();
}
}
abstract class Personn
{
abstract public void prepare();
abstract public void reflact();
}
class Student extends Personn{
public Student()
{
}
@Override
public void prepare()
{
System.out.println("\t考试了,学生准备开始复习");
}
@Override
public void reflact()
{
System.out.println("\t |--考完了,学生查看成绩,看是否及格");
}
}
class Teacher extends Personn{
public Teacher()
{
}
@Override
public void prepare()
{
System.out.println("\t考试了,老师准备开始出题");
}
@Override
public void reflact()
{
System.out.println("\t |--考完了,老师查看成绩,看考的情况");
}
}
class Educategovern extends Personn{
public Educategovern()
{
}
@Override
public void prepare()
{
System.out.println("\t考试了,教务处安排考试时间");
}
@Override
public void reflact()
{
System.out.println("\t |--考完了,教务处查看成绩,进行教师评比");
}
}
class Factorys
{
public Factorys()
{
}
public static Personn get(String title)throws NullPointerException
{
if("student".equalsIgnoreCase(title))//忽视大小写的比较
return new Student();
else if("teacher".toLowerCase().equalsIgnoreCase(title))
return new Teacher();
if("educategovern".equalsIgnoreCase(title))
return new Educategovern();
else
return null;
}
}
相关文章推荐
- *Java在抽象类的简单应用:模板设计模式
- Java设计模式:工厂模式(一)简单工厂模式
- 设计模式之—简单工厂方法(StaticFactory )-Java实现
- 设计模式--创建模式--简单工厂模式--java
- JAVA设计模式 — 简单工厂模式
- java中的设计模式(一)--简单工厂模式
- Java与设计模式(01)--简单工厂模式
- java设计模式笔记之简单工厂
- java设计模式-创建模式之 简单工厂,工厂方法和抽象工厂的区别总结
- 设计模式-工厂方法 简单工厂 抽象工厂 模板方法
- C#基础:抽象类和抽象方法实现多态以及简单工厂设计模式的语法
- 设计模式之一:Java中的简单工厂模式
- java 设计模式-简单工厂
- Java设计模式----------简单工厂类+工厂方法(FactoryMethod)
- java设计模式之简单工厂模式
- Java实践之路(设计模式)——工厂模式(简单工厂)
- JAVA设计模式——简单工厂(Simple Factory)模式
- Java设计模式学习1—简单工厂模式
- 设计模式-工厂方法 简单工厂 抽象工厂 模板方法
- 黑马程序员-Java _ 简单工厂设计模式(Plant Pattern)