您的位置:首页 > 编程语言 > Java开发

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;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: