Java 抽象類別練習__java
來源:互聯網
上載者:User
package day09;
/**
* 僱員樣本:
* 需求:公司中程式員有姓名、工號、薪水、工作內容。
* 專案經理除了有姓名、工號、薪水、還有獎金、工作內容。
* 對給出需求進行資料建模。
*
* 分析:
* 在這個問題領域中,先找出設計的對象。
* 通過提煉法。
* 程式員:
* 屬性:姓名、工號、薪水
* 行為:工作
* 經理:
* 屬性:姓名、工號、薪水、獎金。
* 行為:工作
*
* 程式員和經理不存在著直接繼承關係,但是程式員和經理卻具有共性內容。可以進行抽取。因為他們都是公司的僱員可以將程式員和經理進行抽取,建立體系。
*/
//描述僱員
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("code ...");
}
}
//描述經理
class Manager extends Employee{
private int bouns;
Manager(String name,String id,double pay,int bounus){
super(name,id,pay);
this.bouns = bouns;
}
public void work(){
System.out.println("manager");
}
}
public class AbstractTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
class Person{
private String name;
private int age;
Person(String name,int age){
this.name = name;
this.age = age;
}
public String getName(){
return name;
}
public void setname(String name){
this.name = name;
}
}
class Student extends Person{
Student(String name,int age){
super(name,age);
}
}