java基础案例:abstract(抽象类)的练习

/*
雇员示例:
需求:公司中程序员有姓名,工号,薪水,工作内容
项目经理除了有姓名,工号,薪水,还有奖金,工作内容
对给出需求进行数据建模
*/
/*

分析:

        在这个问题领域中,先找出涉及的对象。

        通过名词提炼法:
        程序员:
            属性:姓名,工号,薪水
            行为:工作
        经理:
        属性:姓名,工号,薪水,奖金
    行为:工作
        程序员和经理不存在直接继承关系
        但是程序员和经理却具有共性内容
*/


public class Abstract_Test
{
public static void main(String[] args)
{
Manager m = new Manager("小张","2011",15000,8000);
m.work();
Programmers p =new Programmers("小李","2016",9000);
p.work();
}
}

abstract class Employee
{
String name;
String id;
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
{
int bonus;
Manager(String name,String id,double pay,int bonus)
{
super(name,id,pay);
this.bonus = bonus;
}

public void work()
{
System.out.println("id:"+id+"   name:"+name+"   pay:"+pay+"   bonus:"+bonus+"   manager");
}
}

class Programmers extends Employee
{
Programmers(String name,String id,double pay)
{
super(name,id,pay);
}

public void work()
{
System.out.println("id:"+id+"   name:"+name+"   pay:"+pay+"   code");
}
}

猜你喜欢

转载自blog.csdn.net/z1888202/article/details/79394349