package com.smb.poly;
public class PolyParameters {
public static void main(String[] args) {
normalEmployee normalEmployee = new normalEmployee("smb",3500);
manager manager = new manager("yyy",4500,1000);
PolyParameters polyParameters = new PolyParameters();
polyParameters.showEmpAnnual(normalEmployee);
polyParameters.showEmpAnnual(manager);
polyParameters.testwork(normalEmployee);
polyParameters.testwork(manager);
}
public void showEmpAnnual(Employee e){
System.out.println(e.getAnnual());
}
public void testwork(Employee e){
if (e instanceof normalEmployee){
((normalEmployee)e).work();
}else if (e instanceof manager){
((manager)e).manage();
}else {
System.out.println("不处理");
}
}
}
class Employee{
private String name;
private double salary;
public Employee(String name, double salary) {
this.name = name;
this.salary = salary;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public double getAnnual(){
return this.salary * 12;
}
}
class normalEmployee extends Employee{
public normalEmployee(String name, double salary) {
super(name, salary);
}
public void work(){
System.out.println("员工" + getName() + " is working");
}
public double getAnnual(){
return super.getAnnual();
}
}
class manager extends Employee{
private double bonus;
public manager(String name, double salary, double bonus) {
super(name, salary);
this.bonus = bonus;
}
public double getBonus() {
return bonus;
}
public void setBonus(double bonus) {
this.bonus = bonus;
}
public void manage(){
System.out.println("经理" + getName() + " is managing");
}
public double getAnnual(){
return super.getAnnual() + bonus;
}
}