java基礎案例:abstract(抽象類)的練習
阿新 • • 發佈:2019-02-13
/*
僱員示例:
需求:公司中程式設計師有姓名,工號,薪水,工作內容
專案經理除了有姓名,工號,薪水,還有獎金,工作內容
對給出需求進行資料建模
*/
/*
程式設計師:
屬性:姓名,工號,薪水
行為:工作
經理:
屬性:姓名,工號,薪水,獎金
行為:工作
程式設計師和經理不存在直接繼承關係
但是程式設計師和經理卻具有共性內容
*/
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");
}
}
僱員示例:
需求:公司中程式設計師有姓名,工號,薪水,工作內容
專案經理除了有姓名,工號,薪水,還有獎金,工作內容
對給出需求進行資料建模
*/
/*
分析:
在這個問題領域中,先找出涉及的物件。
通過名詞提煉法:程式設計師:
屬性:姓名,工號,薪水
行為:工作
經理:
屬性:姓名,工號,薪水,獎金
行為:工作
程式設計師和經理不存在直接繼承關係
但是程式設計師和經理卻具有共性內容
*/
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");
}
}