首页 > 其他分享 >继承_练习_定义经理类

继承_练习_定义经理类

时间:2024-10-23 21:36:53浏览次数:7  
标签:salary 定义 继承 double 练习 int Employee public name

写代码前,先创建一个名为inheritance(继承)的包,以下所有代码都在该包中创建。

员工类

此类可直接复制。

package inheritance;

import java.time.LocalDate;

public class Employee {
    private final String name; // 姓名
    private double salary; // 薪水
    private final LocalDate hireDay; // 入职日期

    public Employee(String name, double salary, int year, int month, int day) {
        this.name = name;
        this.salary = salary;
        hireDay = LocalDate.of(year, month, day);
    }

    public String getName() {
        return name;
    }

    public double getSalary() {
        return salary;
    }

    public LocalDate getHireDay() {
        return hireDay;
    }

    public void raiseSalary(double byPercent) {
        double raise = salary * byPercent / 100;
        salary += raise;
    }
}

经理类

package inheritance;

public class Manager extends Employee {
    private double bonus; // 奖金

    public Manager(String name, double salary, int year, int month, int day) {
        super(name, salary, year, month, day);
    }

    public double getSalary() {
        double baseSalary = super.getSalary(); // 获取基本工资
        return baseSalary + bonus; // 薪水=基本工资+奖金
    }

    public void setBonus(double bonus) {
        this.bonus = bonus;
    }
}

经理Test类

package inheritance;

public class ManagerTest {
    public static void main(String[] args) {
        // 创建一个Manager对象,固定工资为15000
        Manager boss = new Manager("张三", 15000, 2019, 7, 1);
        boss.setBonus(5000); // 设置额外5000奖金
        boss.getSalary();
        Employee[] staff = new Employee[3];
        // 用Manager对象以及Employee对象填充员工数组,这里涉及"多态",可自行预学
        staff[0] = boss;
        staff[1] = new Employee("李四", 5000, 2022, 7, 15);
        staff[2] = new Employee("王五", 6500, 2023, 7, 15);

        // 输出所有员工对象的信息
        for (Employee e : staff) {
            System.out.printf("name=%s,salary=%.2f\n", e.getName(), e.getSalary());
        }
    }
}

输出:

name=张三,salary=20000.00
name=李四,salary=5000.00
name=王五,salary=6500.00

标签:salary,定义,继承,double,练习,int,Employee,public,name
From: https://www.cnblogs.com/xkxf/p/18498394

相关文章

  • MYSQL-SQL-01-DDL(Data Definition Language,数据定义语言)
    DDL(数据定义语言)DDL(DataDefinitionLanguage),数据定义语言,用来定义数据库对象(数据库,表,字段)。一、数据库操作1、查询mysql数据库管理系统的所有数据库语法:showdatabases;示例:2、查询当前所在的数据库语法:selectdatabase();示例:3、创建数据库语法:([]括号......
  • vTESTstudio系列14--vTESTstudio中自定义函数介绍1
    在上篇vTESTstudio系列的文章中,我们基于osek_tp.dll实现了诊断的发送和回复的最基本的脚本,但是我们可以看出来,这样的脚本是不具有普适性的,为了生成一个普适性的诊断请求回复的函数,接下来本系列的几篇文章会开始介绍一些优自定义的小函数,Let'sGo!!!目录1.自定义函数:1.1字符......
  • 真题练习25-Excel电子表格-全国计算机等级考试一级计算机基础及MS Office应用考试【汪
    第25组请根据题目要求,完成下列操作:1.在考生文件夹下打开EXCEL.XLSX文件:(1)将sheet1工作表的A1:G1单元格合并为一个单元格,内容水平居中;计算“月平均值”行的内容(数值型,保留小数点后1位。利用AVERAGE函数。);计算“最高值”行的内容(三年中各月的最高值,利用MAX函数)。(2)选取“月份”......
  • 明解c语言入门篇练习4-2do语句延伸
    明解c语言练习4-2我们可以看到题目:编写一段程序,像右面这样读取两个整数的值,然后计算出他们之间所有整数的和。上次我发了一段这个练习4-2的代码可以看一下#include<stdio.h>intmain(void){  inta,b,max,min;  intsum=0;  printf("请输入两个整数:......
  • js练习:用canvas实现网页画笔效果
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>HTML5Canvas</title><linkrel="icon"href="https://fav.farm/✅"/></head><body><......
  • 自定义 tabBar
      ......
  • 继承 super 抽象 接口 多态
    继承类的继承是指在一个现有类的基础上去构建新的类,构建出来的子类就是儿子,现有类好比就是一个父类,模板一样的存在,与new出多个类互不影响一致,但是继承的子类是可以使用父类的属性的程序中想声明一个类去继承另一个类,使用的是extends关键字下面三个类是可以......
  • 牛客练习赛130
    A-xtoy可以把与操作理解为减,把或操作理解为加。先减掉多的,再加上少的。因此至多两次即可。#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=longlong;usingui32=unsignedint;usingpii=pair<int,int>;voidsolve(){ i64......
  • IDE和IDEA的定义和区别
    IDE(集成开发环境)定义:IDE是集成开发环境的缩写,是一种用于提供程序开发环境的应用程序。它集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。特点:IDE旨在提高开发人员的生产力,简化开发过程,并......
  • 海波龙系统自定义登录界面
    以下方法可以自定义登录页面,以添加所有权声明。这使公司能够在用户登录到OracleHyperionEnterprisePerformanceManagementWorkspace时,向其宣传所有权声明。所有权声明信息将显示在版权信息下方。要自定义登录页面:1、停止所有服务。2、备份EPM_ORACLE_HOME/common/bpmu......