package Demo513;
/*
定义一个Employee类,该类包含:
private 成员变量name,number,birthday,其中birthday为MyDate类的对象;
abstract方法earnings():toString()方法输出对象的name,number和birt
*/ public abstract class Employee {
private String name ;
private int number ;
private MyDate birthday; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getNumber() {
return number;
} public void setNumber(int number) {
this.number = number;
} public MyDate getBirthday() {
return birthday;
} public void setBirthday(MyDate birthday) {
this.birthday = birthday;
} public Employee(String name, int number, MyDate birthday) {
super();
this.name = name;
this.number = number;
this.birthday = birthday;
} public abstract double earnings(); @Override
public String toString() {
return "name="+name+",number"+number+",birthday="
+birthday.toString()+"]";
}
}
 package Demo513;
/*
MyDate类包括:
private成员变量month,day,year;
toDateString()方法返回日期对应的字符串:xxxx年xx月xx日
*/
public class MyDate {
private int year;
private int month;
private int day; public MyDate(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
public String toDateString(){
return year + "年"+month+"月"+day+"日";
} public int getYear() {
return year;
} public void setYear(int year) {
this.year = year;
} public int getMonth() {
return month;
} public void setMonth(int month) {
this.month = month;
} public int getDay() {
return day;
} public void setDay(int day) {
this.day = day;
}
}
 package Demo513;
/*
定义 SalariedEmployee类继承Employee类,实现按月计算工资的员工处理。
private成员变量monthlySalary;
实现父类的抽象方法earnings(),该方法返回monthSalary值,toString()方法输出员工类型信息
及员工的name,number,birthday。
*/
public class SalariedEmployee extends Employee{
private double monthlySalary;//月工资 public SalariedEmployee(String name,int number,MyDate birthdat,double Salary) {
super(name,number,birthdat);
this.monthlySalary = monthlySalary;
} public double earnings(){
return monthlySalary;
} @Override
public String toString() {
return "SalariedEmployee{"+super.toString() +
"monthlySalary=" + monthlySalary +
'}';
}
}
 package Demo513;
/*
定义 SalariedEmployee类继承Employee类,实现按月计算工资的员工处理。
private成员变量monthlySalary;
实现父类的抽象方法earnings(),该方法返回monthSalary值,toString()方法输出员工类型信息
及员工的name,number,birthday。
*/
public class SalariedEmployee extends Employee{
private double monthlySalary;//月工资 public SalariedEmployee(String name,int number,MyDate birthdat,double Salary) {
super(name,number,birthdat);
this.monthlySalary = monthlySalary;
} public double earnings(){
return monthlySalary;
} @Override
public String toString() {
return "SalariedEmployee{"+super.toString() +
"monthlySalary=" + monthlySalary +
'}';
}
}
 package Demo513;
/*
定义payrollSystem类,创建Employee变量数组并初始化,该数组存放各类雇员对象的引用。
利用循环结构遍历数组元素。输出各个对象的类型,name,number,birthda,以及对象生日。
当键盘输入本月月份值是,如果本月是某个Employee对象的生日,还要输出增加工资信息。 */ import java.util.Scanner; public class PayrollSystem {
public static void main(String[] args) {
Employee[] emp = new Employee[2];
System.out.println();
emp[0] = new SalariedEmployee("noo", 1001, new MyDate(2000, 9, 16), 4000);
emp[1] = new SalariedEmployee("hjj", 1002, new MyDate(2000, 12, 31), 5000);
Scanner scanner=new Scanner(System.in);
System.out.println("请输入本月的月份:");
int month =scanner.nextInt(); for (int i = 0; i < emp.length; i++) {
if(month==emp[i].getBirthday().getMonth()){
System.out.println("加工资100");
}
System.out.println(emp[i]);
} }
}

JAVA 员工管理系统(用抽象类实现),简易版。的更多相关文章

  1. Java与Scala的两种简易版连接池

    Java版简易版连接池: import java.sql.Connection; import java.sql.DriverManager; import java.util.LinkedList; ...

  2. python员工管理系统(基础版)

    各位小伙伴们大家好,最近自学python已经差不多把基础学完了,现在运用这些基础知识写了一个简单版本的员工管理系统 因为在大学里我是学过java的,所以,当有了一定的基础和熏陶外,真心觉得python ...

  3. 学生管理系统(SSM简易版)总结

    之前用 Servlet + JSP 实现了一个简易版的学生管理系统,在学习了 SSM 框架之后,我们来对之前写过的项目重构一下! 技术准备 为了完成这个项目,需要掌握如下技术: Java 基础知识 前 ...

  4. 简易版CMS后台管理系统开发流程

    目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...

  5. 基于SSM实现的简易员工管理系统(网站上线篇)

    经历无数苦难,好不容易,网站终于上线了.=.=内牛满面ing.chengmingwei.top就是本员工管理系统的主页啦.是的,很简陋,但是毕竟是第一次嘛,所以慢慢来嘛. 如上次所说的(网站简介,见: ...

  6. 基于SSM实现的简易员工管理系统

    之前自学完了JAVA基础,一直以来也没有做什么好玩的项目,最近暑假,时间上比较空闲,所以又学习了一下最近在企业实际应用中比较流行的SSM框架,以此为基础,通过网络课程,学习编写了一个基于SSM实现的M ...

  7. Java普通员工管理系统

    login GUI界面(登录) package 普通员工管理系统; import java.awt.event.ActionEvent; import java.awt.event.ActionLis ...

  8. Java 语言实现简易版扫码登录

    基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学 ...

  9. MVC5+EF6 简易版CMS(非接口) 第三章:数据存储和业务处理

    目录 简易版CMS后台管理系统开发流程 MVC5+EF6 简易版CMS(非接口) 第一章:新建项目 MVC5+EF6 简易版CMS(非接口) 第二章:建数据模型 MVC5+EF6 简易版CMS(非接口 ...

随机推荐

  1. Oracle字符串截断

    字段.SUBSTR(string,start_position,[length]) 求子字符串,返回字符串解释:string 元字符串, start_position 开始位置(从0开始), leng ...

  2. DS:架构-1

    ylbtech-DS:架构-1 1. 类库返回顶部 1. 2. 2. 引用返回顶部 1. Api-Base\Common\OAuth2Provider\ServiceBase-OAuth2Provid ...

  3. POJ-3050

    Hopscotch Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4385   Accepted: 2924 Descrip ...

  4. Linux C/C++时间字符串与time_t之间的转换方法(转)

    1.指定time_t类型的时间,格式化为YYYYMMDDHH24MISS型的字符串 void FormatTime(time_t time1, char *szTime) {        struc ...

  5. HRBUST - 1819 石子合并问题--圆形版(区间dp+环形+四边形优化)

    石子合并问题--圆形版 在圆形操场上摆放着一行共n堆的石子.现要将石子有序地合并成一堆.规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆石子数记为该次合并的得分.请编辑计算出将n堆石子合并成一堆的 ...

  6. java.lang.IllegalStateException: Cannot get a STRING value from a NUMERIC cell

    异常 在使用POI读取Excel文件内容时,发生了异常,报错如下: 大概意思是不能从一个数值的列获取一个字符串类型的值,我使用下面的代码来获取单元格的值: //此处省略N行代码 String cell ...

  7. ICPC 2016 China Final J. Mr.Panda and TubeMaster【最大费用最大流】

    有一种限制下界强制选的,但是也可以不用 把每个格点拆成两个,一个连s一个连t,对于不是必选的连中间连流量1费用0边表示不选,然后黑白染色,黑点连横着白点连竖着,边权就是这条水管的权值,然后跑最大费用最 ...

  8. [Xcode 实际操作]六、媒体与动画-(11)UIView视图卷曲动画的制作

    目录:[Swift]Xcode实际操作 本文将演示UIView视图卷曲动画的制作. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIKit cla ...

  9. for循环,递归,函数封装作业

    /******求100以内,所有的奇数和,求100以内,所有的偶数积*******/ // for循环方法   var sum=0; var sum1=1; for(var i=1;i<=100 ...

  10. glassfish 自定义 jaas realm

    https://www.oschina.net/translate/custom-jaas-realm-for-glassfish-3