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. ACM学习历程——HDU5202 Rikka with string(dfs,回文字符串)

    Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he ...

  2. python爬虫知识点总结(十)分析Ajax请求并抓取今日头条街拍美图

    一.流程框架

  3. java 放射机制简介

    放射,说白了就是通过名字加载相应的类,以及类的方法和属性,是为了解决开发中不知道别人会写什么类而采取的一种顺利开发的东东. package com.io; //学生业务类 不知道别人写的 这个是别人写 ...

  4. linux正则表达式基础

    linux中awk,sed,grep等 命令使用区别正则表达式基础 在最简单的情况下,一个正则表达式看上去就是一个普通的查找串.例如,正则表达式"testing"中没有包含任何元字 ...

  5. 《Java多线程编程核心技术》读后感(十五)

    线程的状态 线程对象在不同的运行时期有不同的状态,状态信息就存在与State枚举类中. 验证New,Runnable,Terminated new:线程实例化后还从未执行start()方法时的状态 r ...

  6. 2-3 Flutter开发环境与iOS开发环境设置(Mac)

    Mac下环境搭建 先不看了 都是Mac下的环境搭建

  7. Spring入门第十九课

    后置通知 看代码: package logan.study.aop.impl; public interface ArithmeticCalculator { int add(int i, int j ...

  8. C++11之lambda表达式解析

    什么是Lanmbda? 简短函数,就地书写.常用于向函数(算法)传递函数参数. 语法 Lambda 表达式,[capture](paras)mutable->return type{statem ...

  9. 解决eclipse js文件报错(转)

    在我们将项目导入Eclipse后,配置好各种编译条件.加载好jar包.配置好tomcat后发现项目还是报错,(前提是项目本身并没有错误,而是我们在初次导入到Eclipse中的时候报错),那是什么原因引 ...

  10. uoj#386. 【UNR #3】鸽子固定器(乱搞)

    传送门 题解 //minamoto #include<bits/stdc++.h> #define R register #define ll long long #define fp(i ...