继承和抽象类练习

来源:互联网 发布:广东广电网络营业厅 编辑:程序博客网 时间:2024/04/30 18:23
/*雇员示例:需求:公司中程序员有姓名、工号、薪水、工作内容.项目经理除了有姓名、工号、薪水、工作内容,还有奖金.对给出的需求进行数据建模.分析:在这个问题领域中,先找出涉及的对象,通过名词提炼法:程序员:    属性:姓名、工号、薪水    行为:工作经理:    属性:姓名、工号、薪水、奖金    行为:工作程序员和经理不存在着直接继承关系,但是程序员和经理却有共性内容.可以进行抽取.因为他们都是公司的雇员.可以将程序员和经理进行抽取,建立体系.*///描述雇员.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 Programmer extends Employee {    Programmer(String name, String id, double pay) {        super(name, id, pay);        System.out.println("姓名:"+name+"\n"+"工号:"+id+"\n"+"工资:"+pay);    }    @Override    public void work() {        System.out.println("工作内容:code");    }}//描述经理.class Manager extends Employee {    private int bonus ;    Manager(String name, String id, double pay,int bonus) {        super(name, id, pay);        this.bonus = bonus ;        System.out.println("姓名:"+name+"\n"+"工号:"+id+"\n"+"工资:"+pay+"\n"+        "奖金:"+bonus);    }    @Override    public void work() {        System.out.println("工作内容:manager");    }}public class AbstractTest {    public static void main(String[] args) {//      Programmer p = new Programmer("张三", "101", 5000) ;//      p.work();        Manager m = new Manager("李四", "080", 9000, 4000) ;        m.work();    }}
0 0
原创粉丝点击