public class ModleModuleDemo2 {
/**
* 抽象类之模板设计模式 练习 例:
* 学生和工人都可以说话 只是它们说话的内容不同
* 我们需要使用抽象类来设计这个类,
* 说话是一个功能,我们可以将说话的具体的
* 内容交给工人和学习去具体的实现
*/
public static void main(String[] args) {
Students students=new Students("李成", 22,99.5f);
students.say();
Workers workers=new Workers("李国强", 34, 5000);
workers.say();
}
}
abstract class Person2 {
// 人有年龄,姓名
private String name;
private int age;
public Person2(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void say() {
// 调用抽象方法
getContent();
}
public abstract void getContent();
}
class Students extends Person2 {
// 分数
private float score;
public Students(String name, int age, float score) {
super(name, age);
this.score = score;
}
// 因为成员是私有的。我们又是继承的所以只能通过super.get方法来访问父类中的私有成员
@Override
public void getContent() {
System.out.println("姓名:" + super.getName() + "; 年龄:" + super.getAge()
+ "; 分数:" + score);
}
}
class Workers extends Person2 {
private double salary;
public Workers(String name, int age, double salary) {
super(name, age);
this.salary = salary;
}
@Override
public void getContent() {
System.out.println("姓名:" + super.getName() + "; 年龄:" + super.getAge()
+ "; 工资:" + salary);
}
}
《黑马程序员》 抽象类之模板设计模式
最新推荐文章于 2024-04-25 16:50:38 发布