Java对象的创建类的继承以及多态的使用

(1)创建一个员工类Employee,Employee的要求:

成员变量:

员工姓名(private String name)

员工工号( private int id)

员工工资( private int wage)

成员方法:

1、 员工工作 public abstract void work();

2、员工获得工资public abstract void getFullWage();

构造方法:

1、无参的构造方法 2、有参的构造方法,初始化成员变量。

(2)继承员工类编写一个经理类Manager,Manager的要求:

成员变量:

增加一个成员变量:奖金:int reward;(经理的工资由两部分组成:基本工资+奖金)

成员方法:

员工工作 - work() 这个方法要求输出: 该员工的名字+“经理在认真工作”。 员工获得工资-getFullWage () 这个方法要求输出: 该员工的名字+“经理的奖金是”+reward奖金+“,他的总工资是”+(wage基本工资+reward奖金);

构造方法:

通过调用父类的构造方法来给部分成员变量进行赋值。

(3)继承员工类编写一个普通员工类Commoner,Commoner的要求:

成员方法:

员工工作 -work() 这个方法要求输出: 该员工的名字+“这个普通员工在认真工作”。 员工获得工资-getFullWage() 这个方法要求输出: 该员工的名字+他的工资

构造方法:

通过调用父类的构造方法(super),来给成员变量进行赋值。

(4)创建一个测试类Test,Test要求:

1.创建一个普通员工 c

2.创建一个经理 m

3.采用多态的方式分别调用经理、普通员工的work()和getFullWage ()方法输出

4.输出学号和姓名

Employee.java

package java_11_10;

public abstract class Employee {

	private String name;
	private int id;
	private int wage;

	public abstract void work();

	public abstract void getFullWage();

	public Employee() {
		super();
	}

	public Employee(String name, int id, int wage) {
		super();
		this.name = name;
		this.id = id;
		this.wage = wage;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getWage() {
		return wage;
	}

	public void setWage(int wage) {
		this.wage = wage;
	}

}

Manager.java

package java_11_10;

public class Manager extends Employee {

	private int reward;

	public Manager() {
		// TODO Auto-generated constructor stub
	}

	public Manager(String name, int id, int wage, int reward) {
		super(name, id, wage);
		this.reward = reward;
	}

	@Override
	public void work() {
		// TODO Auto-generated method stub
		System.out.println(getName() + "经理在认真工作");
	}

	@Override
	public void getFullWage() {
		// TODO Auto-generated method stub
		System.out.println(getName() + "经理的奖金是" + reward + ";他的总工资是" + (getWage() + reward));
	}

}

Commoner.java

package java_11_10;

public class Commoner extends Employee {

	public Commoner() {
		// TODO Auto-generated constructor stub
	}

	public Commoner(String name, int id, int wage) {
		super(name, id, wage);
	}

	@Override
	public void work() {
		// TODO Auto-generated method stub
		System.out.println(getName() + "这个员工在认真工作");
	}

	@Override
	public void getFullWage() {
		// TODO Auto-generated method stub
		System.out.println(getName() + "的工资是" + getWage());
	}

}

Test.java

package java_11_10;

public class Test {
	public static void main(String[] args) {
		Employee c = new Commoner("张三", 1001, 5000);
		c.work();
		c.getFullWage();
		Employee m = new Manager("李四", 2002, 7000, 1500);
		m.work();
		m.getFullWage();
	}
}

运行结果截图:

Java编程基础实操分享_java