码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础 工厂方法模式

时间:2017-10-09 13:15:51      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:ctp   .com   generate   技术   windows7   person   2-2   src   父类   

礼悟:
           好好学习多思考,尊师重道存感恩。叶见寻根三返一,活水清源藏于零。
           虚怀若谷良心主,皓月当空自在王。愿给最苦行无悔,诚劝且行且珍惜。




    os :windows7 x64
    jdk:jdk-8u131-windows-x64
    ide:Eclipse Oxygen Release (4.7.0)

 


抽象父类Person

package blog.jizuikuA;

/**
 * 
 * 
 * @author jizuiku
 * @version V17.09.27
 */
public abstract class AbstractPerson {
	abstract void sayHello();
}

 

Javaer,抽象Person类的子类

package blog.jizuikuA;

/**
 * 
 * 
 * @author jizuiku
 * @version V17.09.27
 */
public class Javaer extends AbstractPerson {

	@Override
	void sayHello() {
		// TODO Auto-generated method stub
		System.out.println("Javaer sayHello");
	}

}

 

PHPer,抽象Person类的子类

package blog.jizuikuA;

/**
 * 
 * 
 * @author jizuiku
 * @version V17.09.27
 */
public class PHPer extends AbstractPerson {

	@Override
	void sayHello() {
		// TODO Auto-generated method stub
		System.out.println("PHPer sayHello");
	}

}

 

接口类

package blog.jizuikuA;

/**
 * 
 * 
 * @author jizuiku
 * @version V17.09.27
 */
public interface School {
	public abstract Person trainPersonForProfession();
}

 

package blog.jizuikuA;

/**
 * Javaer学校,专门培养Java开发的人才
 * 
 * @author jizuiku
 * @version V17.09.27
 */
public class JavaerSchool implements School {

	@Override
	public Person trainPersonForProfession() {
		// TODO Auto-generated method stub
		return new Javaer();
	}

}

 

 

package blog.jizuikuA;

/**
 * PHPer学校,专门培养PHP开发的人才
 * 
 * @author jizuiku
 * @version V17.09.27
 */
public class PHPerSchool implements School {

	@Override
	public Person trainPersonForProfession() {
		// TODO Auto-generated method stub
		return new PHPer();
	}

}

 

测试类

package blog.jizuikuA;

/**
 * 
 * 
 * @author jizuiku
 * @version V17.09.27
 */
public class Demo {
	public static void main(String[] args) {
		// 需要Java开发人员
		School jSchool = new JavaerSchool();
		Person javaer = jSchool.trainPersonForProfession();
		if (javaer != null) {
			javaer.sayHello();
		} else {
			System.out.println("创建对象失败");
		}

		// 需要PHP开发人员
		School pSchool = new PHPerSchool();
		Person phper = pSchool.trainPersonForProfession();
		if (phper != null) {
			phper.sayHello();
		} else {
			System.out.println("创建对象失败");
		}
	}
}

 

结果

技术分享

 

 


Java优秀,值得学习。
设计模式中蕴含着极高的智慧,对项目开发有大帮助。
学习资源:itcast和itheima视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。

Java基础 工厂方法模式

标签:ctp   .com   generate   技术   windows7   person   2-2   src   父类   

原文地址:http://www.cnblogs.com/jizuiku/p/7640396.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!