1. 程式人生 > >java基礎案例:abstract(抽象類)的練習

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");
}
}