实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个方法add用于涨工资,普通员工一次能涨10%,经理能涨20%。
1、实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个方法add用于涨工资,普通员工一次能涨10%,经理能涨20%。具体要求如下:
(1)Person类中的属性有:姓名name、地址address,定义该类的构造方法;
(2)Employee类中的属性有:工号id、工资wage、工龄workAge,定义该类的构造方法;
(3)Manager类中的属性有:级别level,定义该类的构造方法;
(4)编写一个测试类,创建一个员工和一个经理对象,给该员工和经理涨工资,并输出其具有的信息。
Personjava
-----------------
package com.fs.test; public class Person {
private String name;
private String address;
//定义构造方法
public Person(String name, String address){
this.name = name;
this.address = address;
} } Employee.java
------------ package com.fs.test;
//继承Person类
public class Employee extends Person {
private String ID;
private double wage;
private int workAge; public Employee(String name, String address, String ID, double wage, int workAge){
super(name, address); //调用父类的构造方法
this.ID = ID;
this.wage = wage;
this.workAge = workAge;
} public double add(String position){// 判断职位
if(position == "0"){
wage = wage*1.2;
}
else{
wage = wage*1.1;
}
return wage;
}
//设置get/set方法
public double getWage() {
return wage;
}
public void setWage(double wage) {
this.wage = wage;
}
} --------------
Manager.java
------------
package com.fs.test; //继承Employee类
public class Manager extends Employee{
private String level = ""; //1为普通员工,0为经理 public Manager(String name, String address, String ID, double wage, int workAge, String level){
super(name, address, ID, wage, workAge);
this.level = level;
} //设置get/set方法
public String getLevel() {
return level;
} public void setLevel(String level) {
this.level = level;
}
}
----------
Test.java
-------------- package com.fs.test; public class Test { public static void main(String[] args) {
// 新建对象
Manager normal = new Manager("狗剩", "哈尔滨", "001", 3500, 2, "1");
Manager manager = new Manager("铁蛋", "长春", "002", 10000, 7, "0");
// 传入职位,Manager类型的对象没有add()方法,所以自动搜寻其父类,调用add()方法
normal.add(normal.getLevel());
manager.add(manager.getLevel()); System.out.println("normal wage is:"+normal.getWage());
System.out.println("manager wage is:"+manager.getWage());
}
}
实现一个名为Person的类和它的子类Employee,Manager是Employee的子类,设计一个方法add用于涨工资,普通员工一次能涨10%,经理能涨20%。的更多相关文章
- 3.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty 和Staff。
23.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty 和Staff. 具体要求如下: (1)Person类中的属性有:姓名name(String类型) ...
- 实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty 和Staff。
(1)Person类中的属性有:姓名name(String类型),地址address(String类型), 电话号码telphone(String类型)和电子邮件地址email(String类型): ...
- 23.实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty 和Staff。 具体要求如下: (1)Person类中的属性有:姓名name(String类型),地址address(String类型), 电话号码telphone(String类型)和电子邮件地址email(String类型); (2)Employee类中的属性有:办公室office(Stri
package banking; public class Person { private String name; public String address; public String tel ...
- 38.利用接口做参数,写个计算器,能完成+-*/运算 (1)定义一个接口Compute含有一个方法int computer(int n,int m); (2)设计四个类分别实现此接口,完成+-*/运算 (3)设计一个类UseCompute,含有方法: public void useCom(Compute com, int one, int two) 此方法要求能够:1.用传递过来的对象调用comp
//接口Compute package jieKou; public interface Compute { int Computer(int n,int m); } //加 package jieK ...
- (1)定义一个接口Compute含有一个方法int computer(int n,int m); (2)设计四个类分别实现此接口,完成+-*/运算 (3)设计一个类UseCompute,含有方法: public void useCom(Compute com, int one, int two) (4)设计一个测试类
package b; public interface Computer { int computer(int n,int m); } package b; public class Jia impl ...
- 利用接口做参数,写个计算器,能完成+-*/运算 (1)定义一个接口Compute含有一个方法int computer(int n,int m); (2)设计四个类分别实现此接口,完成+-*/运算 (3)设计一个类UseCompute,含有方法: public void useCom(Compute com, int one, int two) 此方法要求能够:1.用传递过来的对象调用compute
package com.homework5; public interface Compute { //声明抽象方法 int computer(int n,int m); } package com. ...
- 如何一步一步用DDD设计一个电商网站(五)—— 停下脚步,重新出发
阅读目录 前言 单元测试 纠正错误,重新出发 结语 一.前言 实际编码已经写了2篇了,在这过程中非常感谢有听到观点不同的声音,借着这个契机,今天这篇就把大家提出的建议一个个的过一遍,重新整理,重新出发 ...
- 如何一步一步用DDD设计一个电商网站(九)—— 小心陷入值对象持久化的坑
阅读目录 前言 场景1的思考 场景2的思考 避坑方式 实践 结语 一.前言 在上一篇中(如何一步一步用DDD设计一个电商网站(八)—— 会员价的集成),有一行注释的代码: public interfa ...
- 如何一步一步用DDD设计一个电商网站(十)—— 一个完整的购物车
阅读目录 前言 回顾 梳理 实现 结语 一.前言 之前的文章中已经涉及到了购买商品加入购物车,购物车内购物项的金额计算等功能.本篇准备把剩下的购物车的基本概念一次处理完. 二.回顾 在动手之前我对之 ...
随机推荐
- MySQ彻底删除与安装配置
彻底删除 1.查看 MySQL 安装了哪些东西 rpm -qa |grep -i mysql 2.卸载 -.el7.x86_64 -.el7.x86_64 .noarch -.el7.x86_64 - ...
- 全排列函数next_permutation(a,a+n)
#include<iostream> #include<algorithm> using namespace std; int main(){ ]; int n; cin> ...
- 选题 Scrum立会报告+燃尽图 06
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8678 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...
- ubuntu下mysql数据库存储路径修改
一.安装mysql ubuntu系统安装配置APT源,apt install mysql-server mysql-client 二.查看安装端口情况 sudo netstat -tap | grep ...
- Let a mthod in RestControl return a json string
The get method of EmpControl package com.hy.empcloud; import java.util.List; import org.springframew ...
- 八、MD5加密并封装,并调用封装方法
一.MD5加密 封装Md5 public class Md5 { //十六进制下数字到字符的映射数组 private static final char hexDigits[] = { '0', '1 ...
- web.py下获取get参数
比较简单,就直接上代码了: import web urls = ( '/', 'hello' ) app = web.application(urls, globals()) class hello: ...
- nodejs 之简单web服务器
1.service.js var http=require('http');//引入http模块 var fs=require('fs');//fs模块 var path=require('path' ...
- IE浏览器兼容问题(unset不生效)
背景色重置:background-color: transparent; width重置:auto height重置:auto
- C# 中的字符串内插
$ 特殊字符将字符串文本标识为内插字符串. 内插字符串是可能包含内插表达式的字符串文本. 将内插字符串解析为结果字符串时,带有内插表达式的项会替换为表达式结果的字符串表示形式. 此功能在 C# 6 及 ...