黑马程序员技术交流社区
标题:
抽象类(abstract)的一个具体使用示例
[打印本页]
作者:
追逐
时间:
2014-3-14 11:04
标题:
抽象类(abstract)的一个具体使用示例
/*
假如我们在开发一个系统时需要对员工进行建模,员工包含3个属性;
姓名、工号以及工资、经理也是员工。出来含有员工的属性外,另为还有一个
奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方
法进行属性访问。
员工类包含三个属性:姓名(name)、工号(id)、工资(pay);
经理类:继承了员工。并有自己特有的奖金bonus.
并且都有一个工作的函数
*/
//员工类
abstract class Employee {
private String name;
private String id;
private double pay;
Employee(String name, String id, double pay) {
this.name = name;
this.id = id;
this.pay = pay;
}
//因为其不知道员工和经理的具体工作是什么,所以定义一个抽象方法。用于被别的类重写
abstract void work();
}
//定义一个具体员工的类
class Pro extends Employee {
Pro(String name, String id, double pay) {
super(name, id, pay);
}
public void work() {
System.out.println("员工打字");
}
}
//定义一个经理类
class Manager extends Employee {
private double bonus;
Manager(String name, String id, double pay, double bonus) {
super(name, id, pay);
this.bonus = bonus;
}
public void work() {
System.out.println("经理管着人");
}
}
//测试类
class AbstractTest {
public static void main(String[] args) {
Pro p = new Pro("张三", "2012020", 32);
p.work();
Manager m = new Manager("李四", "3202030", 32, 21);
m.work();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2