下面通过一个实例,来说明抽象类的使用:
- /*
- 假如我们在开发一个系统时需要对员工进行建模,员工包含 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;
- }
-
- public abstract void work();//抽象的工作方法
-
- }
-
- //经理类,继承员工类
- class Manager extends Employee
- {
- private int bonus;//特有的奖金属性
- Manager(String name,String id,double pay,int bonus)//子类的构造方法
- {
- super(name,id,pay);//调用超类中的构造器
- this.bonus = bonus;
- }
- public void work()//经理类的工作方法内容
- {
- System.out.println("manager work");
- }
- }
-
- //普通员工类,继承员工类
- class Pro extends Employee
- {
- Pro(String name,String id,double pay)
- {
- super(name,id,pay);
- }
- public void work()//普通员工类的工作方法内容
- {
- System.out.println("pro work");
- }
- }
-
- class AbstractDemo
- {
- public static void main(String[] args)
- {
- new Manager("manager","001",10000,2000).work();
- new Pro("pro","020",5000).work();
- }
- }
复制代码 |
|