什么模板方法?
在抽象类中定义一个方法模板,将确定的方法放入抽象类中实现,抽象不确定的方法由子类继承实现。
示例场景描述
街坊找18-30岁之间的路人回答指定的问题。
(问题兴趣 居住为不确定的 问题年龄是确定的)
示例图
图片.png示例代码
1.创建街坊问题抽象类
public abstract class NeighborhoodProblem {
protected String name;
protected NeighborhoodProblem(String name) {
this.name = name;
}
public final void problem() {
interst();
ageGroup();
resideuce();
}
protected abstract void resideuce();
protected void ageGroup() {
System.out.println("年龄段在18-30岁");
}
protected abstract void interst();
}
2.创建路人1和路人2
public class PeopleOne extends NeighborhoodProblem {
protected PeopleOne(String name) {
super(name);
}
@Override
protected void resideuce() {
System.out.println("一号采访人" + name + "居住在上海");
}
@Override
protected void interst() {
System.out.println("一号采访人" + name + "喜欢看电影");
}
}
public class PeopleTwo extends NeighborhoodProblem {
protected PeopleTwo(String name) {
super(name);
}
@Override
protected void resideuce() {
System.out.println("二号采访人" + name + "居住在北京");
}
@Override
protected void interst() {
System.out.println("二号采访人" + name + "喜欢打篮球");
}
}
3.启动类
public class Test {
public static void main(String[] args) {
PeopleOne peopleOne = new PeopleOne("小橙子");
peopleOne.problem();
System.out.println("--------------------------------------------------------------------------------------");
PeopleTwo peopleTwo = new PeopleTwo("阿亮");
peopleTwo.problem();
}
}
4.运行结果
图片.png
网友评论