package xingzhuang;
public abstract class Shape {
double area;
double per;
String color;
public Shape() {
super();
}
public Shape(String color) {
super();
this.color = color;
}
public abstract double getArea();
public abstract double getPer();
public abstract void showAll();
public String getColor() {
return color;
}
}
//
package xingzhuang;
public class Rectangle extends Shape {
double Width;
double height;
public Rectangle() {
super();
}
public Rectangle(double width, double height,String color) {
super(color);
Width = width;
this.height = height;
}
public double getArea() {
double Area=Width*height;
return Area ;
}
public double getPer()
{
double Per=2*Width+2*height;
return Per;
}
public void showAll()
{
System.out.println("长:"+height);
System.out.println("宽:"+Width);
System.out.println("面积:"+getArea());
System.out.println("周长:"+getPer());
System.out.println("颜色"+color);
}
}
//
package xingzhuang;
public class Circle extends Shape{
public Circle() {
super();
}
public Circle(double radius,String color) {
super(color);
this.radius = radius;
}
double radius;
public double getArea() {
double Area=radius*radius*3.14;
return Area;
}
public double getPer()
{
double Per=2*3.14*radius;
return Per;
}
public void showAll()
{
System.out.println("半径:"+radius);
System.out.println("面积:"+getArea());
System.out.println("周长:"+getPer());
System.out.println("颜色"+color);
}
}
//
package xingzhuang;
public class menu {
public static void main(String[] args) {
// TODO Auto-generated method stub
Shape test_1=new Circle(2,"黑的");
Shape test_2=new Rectangle(5,5,"白的");
test_1.showAll();
test_2.showAll();
}
}
4、 Cola 公司的雇员分为以下若干类:(知识点:多态)[必做
题]
·4.1 ColaEmployee :这是所有员工总的父类,属性:员工的
姓名,员工的生日月份。方法: getSalary ( int month )根据参数月份来确定工资,如果该月员工过生日,则公司会额外奖励
100元。
4.2 SalariedEmployee :ColaEmployee 的子类,拿固定工
4.3 HourlyEmployee : ColaEmployee 的子类,按小时拿工资的员工,每月工作超出160小时的部分按照1.5倍工资发放。属性:每小时的工资、每月工作的小时数
·4.4 SalesEmployee : ColaEmployee 的子类,销售人员,工资由月销售额和提成率决定。属性:月销售额、提成率.4.5定义一个类 Company ,在该类中写一个方法,调用该方法可以打印出某月某个员工的工资数额,写一个测试类 TestCompany ,在 main 方法,把若干各种类型的员工在一个 ColaEmployee 数组里,并单元出数组中每个员工当月的工资。
资的员工。属性:月薪
//ColaEmployee类
package zxc;
public abstract class ColaEmployee {
String name;
int birthday;
public ColaEmployee() {
super();
}
public ColaEmployee(String name, int birthday) {
super();
this.name = name;
this.birthday = birthday;
}
public abstract double getSalary(int month);
}
//SalariedEmployee类
package zxc;
public class SalariedEmployee extends ColaEmployee{
double Salary;
public SalariedEmployee() {
super();
}
public SalariedEmployee(String name, int birthday,double salary) {
super(name,birthday);
Salary = salary;
}
public double getSalary(int month) {
if(birthday==month) {
Salary = Salary+100;
}
return Salary;
}
}
//HourlyEmployee类
package zxc;
public class HourlyEmployee extends ColaEmployee{
double Hour_Salary;
double Month_hour;
public HourlyEmployee() {
super();
}
public HourlyEmployee(String name, int birthday,double hour_Salary, double month_hour) {
super(name,birthday);
Hour_Salary = hour_Salary;
Month_hour = month_hour;
}
public double getSalary(int month) {
double Salary=0;
if(Month_hour>160) {
Salary=Hour_Salary*Month_hour+(Month_hour-160)*Hour_Salary*1.5;
}else if(Month_hour<=160){
Salary=Hour_Salary*Month_hour;
}
if(birthday==month)
{
Salary=Salary+100;
}
return Salary;
}
}
//SalesEmployee类
package zxc;
public class SalesEmployee extends ColaEmployee{
int Moon_Sales;
double Commission;
public SalesEmployee() {
super();
}
public SalesEmployee(String name, int birthday, int moon_Sales, double commission) {
super(name, birthday);
Moon_Sales = moon_Sales;
Commission = commission;
}
public double getSalary(int month) {
double Salary=0;
Salary=Moon_Sales*Commission;
if(birthday==month)
{
Salary=Salary+100;
}
return Salary;
}
}
//Company类
package zxc;
public class Company {
public void ShowSalary(ColaEmployee test,int month)
{
System.out.println("员工:"+test.name+"\n月份:"+month+"\n工资状况:"+test.getSalary(month));
}
}
//测试类
package zxc;
public class TestCompany {
public static void main(String[] args) {
ColaEmployee[] test=new ColaEmployee[3];
test[0]=new SalariedEmployee("cc",60,4000);
test[1]=new HourlyEmployee("xx",6,300,800);
test[2]=new SalesEmployee("zz",12,45000,0.2);
Company show_fun=new Company();
show_fun.ShowSalary(test[0], 5);
show_fun.ShowSalary(test[1], 2);
show_fun.ShowSalary(test[1], 3);
show_fun.ShowSalary(test[2], 9);
show_fun.ShowSalary(test[2], 10);
}
}
标签:Salary,ColaEmployee,double,第九次,test,802,super,public From: https://www.cnblogs.com/shenyangkejixueyuan/p/17458895.html