zoukankan      html  css  js  c++  java
  • Day_08【面向对象】扩展案例1_测试项目经理类和程序员类

    • 分析以下需求,并用代码实现:

    •  1.定义项目经理类 
       	属性:
       		姓名 工号 工资 奖金
       	行为:
       		工作work
       		
       2.定义程序员类
       	属性:
       		姓名 工号 工资
       	行为:
       		工作work
      

      要求: 向上抽取一个父类,让这两个类都继承这个父类,共有的属性写在父类中,子类重写父类中的方法

      编写测试类: 完成这两个类的测试

    • 分析:

    •  项目经理类:姓名,工号,工资,奖金,工作work(){}
       程序员类:姓名,工号,工资,工作work(){}
       
       抽象雇员(employee)类:
       		姓名,工号,工资,工作work();
      

    */
    package com.itheima3;

    //抽象雇员(employee)类:
    //姓名,工号,工资,工作work();
    

    public abstract class Employee {
    private String name;
    private String ID;
    private double salary;

    public Employee() {}
    
    public Employee(String name,String ID,double salary) {
    	this.name = name;
    	this.ID = ID;
    	this.salary = salary;
    }
    
    public String getName() {
    	return name;
    }
    
    public void setName(String name) {
    	this.name = name;
    }
    
    public String getID() {
    	return ID;
    }
    
    public void setID(String iD) {
    	ID = iD;
    }
    
    public double getSalary() {
    	return salary;
    }
    
    public void setSalary(double salary) {
    	this.salary = salary;
    }
    
    public abstract void work();
    

    package com.itheima3;

    //项目管理类
    public class Manager extends Employee{

    private double bonus;
    
    public Manager() {}
    
    public Manager(String name,String ID,double salary,double bonus) {
    	super(name,ID,salary);
    	this.bonus = bonus;
    }
    
    public double getBonus() {
    	return bonus;
    }
    
    public void setBonus(double bonus) {
    	this.bonus = bonus;
    }
    
    @Override
    public void work() {
    	System.out.println("项目经理要擅于管理");
    }
    

    }

    package com.itheima3;

    public class Programmer extends Employee{

    public Programmer() {}
    
    public Programmer(String name,String ID,double salary) {
    	super(name,ID,salary);
    }
    
    @Override
    public void work() {
    	System.out.println("程序员要努力写代码");
    }
    

    }

    package com.itheima3;

    public class Test {

    public static void main(String[] args) {
    	Manager m = new Manager("老王","001",30000,8000);
    	System.out.println(m.getName()+"---"+m.getID()+"---"+m.getSalary()+"---"+m.getBonus());
    	m.work();
    	
    	System.out.println("--------------------------------");
    	
    	Programmer p = new Programmer("小李","002",15000);
    	System.out.println(p.getName()+"---"+p.getID()+"---"+p.getSalary());
    	p.work();
    }
    

    }

    控制台输出结果
    控制台输出结果

  • 相关阅读:
    Node.js 函数
    Node.js模块系统
    在Apache服务器上安装SSL证书
    Node.js Stream(流)--文件操作
    HTML5自带验证美化
    HTML5约束验证API
    Node.js Buffer(缓冲区)
    Python 练习:简单的购物车(二)
    Python 练习:简单的购物车
    Python 列表操作
  • 原文地址:https://www.cnblogs.com/zzzsw0412/p/12772545.html
Copyright © 2011-2022 走看看