抽象类的应用举例

 

雇员实例
需求:公司中程序员有姓名,工号,薪水,工作内容
项目经理,比程序员,多一个奖金。对给出的需求进行数据建模

分析
对这个问题领域中,先找出涉及的对象,通过名词提炼法

  1. 程序员:
  • 属性:姓名、工号、薪水
  • 方法:工作
  1. 经理:
  • 属性:姓名、工号、薪水、奖金
  • 方法:工作
    程序员和经理之间不存在继承关系,但是两个之间都有共性,我们可以将他抽取出来,因为他们都是公司的雇员。
    可以将程序员和经理进行抽取,建立体系。
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);
	}
	public void work(){
		System.out.println("codeing....");
	}
}
class Manage extends Employee{
	private int bouns;
	Manage(String name,String id,double pay,int bouns){
		super(name,id,pay);
		this.bouns = bouns;
	}
	public void work(){
		System.out.println("manage");
	}
}

class AbstractTest{
	public static void main (String[] arg){
		Programmer pro = new Programmer("mahuateng","10000",10000);
		Manage man = new Manage("mayun","10086",88888,10000);
		pro.work();
		man.work();
	}
}
发布了69 篇原创文章 · 获赞 71 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/jintingbo/article/details/90512665