黑马程序员技术交流社区
标题:
我写的JAVA类不太对。。。
[打印本页]
作者:
~﹏~
时间:
2013-11-8 20:43
标题:
我写的JAVA类不太对。。。
设计一个人员类(Person),其中包含一个方法pay,代表人员的工资支出
设计一个人员类(Person),其中包含一个方法pay,代表人员的工资支出。再从Person类派生出助教类(Assistant)、讲师类(Instructor)、副教授类(AssistantProfessor)和教授类(Professor)。其中
工资支出=基本工资+工作量外授课时数*每课时兼课金
但助教基本工资为800元,工作量外每课时兼课金25元,讲师基本工资为1000元,工作量外每课时兼课金30元,副教授基本工资为1200元,工作量外每课时兼课金为35元,教授基本工资为1400元,工作量外每课时兼课金为40元。
(1) 将Person类定位为抽象类,pay为抽象方法,设计程序实现多态性。
(2) 将Person定义为接口,设计程序实现多态性。
我自己按照题目写了这样的类,但是感觉写的不太对,求大神写个现成的我参考参考。。。
谢谢!!!{:soso_e141:}
作者:
Mr.Z.Lee
时间:
2013-11-8 21:01
abstract class Person
{
protected float fSum = 0f;
protected float fBasicSal = 0f;
protected int iOutNum = 0;
protected int iEveryMon = 0;
//工资支出=基本工资+工作量外授课时数*每课时兼课金
abstract float pay(int iOutNum);
}
class Assistant extends Person
{
public Assistant()
{
super();
this.fBasicSal = 800;
this.iEveryMon = 25;
}
float pay(int iOutNum)
{
return fSum = fBasicSal+iOutNum*iEveryMon;
}
}
class Instructor extends Person
{
public Instructor()
{
super();
this.fBasicSal = 1000;
this.iEveryMon = 30;
}
float pay(int iOutNum)
{
return fSum = fBasicSal+iOutNum*iEveryMon;
}
}
class AssistantProfessor extends Person
{
public AssistantProfessor()
{
super();
this.fBasicSal = 1200;
this.iEveryMon = 35;
}
float pay(int iOutNum)
{
return fSum = fBasicSal+iOutNum*iEveryMon;
}
}
class Professor extends Person
{
public Professor()
{
super();
this.fBasicSal = 1400;
this.iEveryMon = 40;
}
float pay(int iOutNum)
{
return fSum = fBasicSal+iOutNum*iEveryMon;
}
}
interface Person
{ //工资支出=基本工资+工作量外授课时数*每课时兼课金
abstract float pay(int iOutNum);
}
class Assistant implements Person
{
float fSum = 0f;
float fBasicSal = 0f;
int iOutNum = 0;
int iEveryMon = 0;
public Assistant()
{
super();
fBasicSal = 800;
iEveryMon = 25;
}
public float pay(int iOutNum)
{
return fSum = fBasicSal+iOutNum*iEveryMon;
}
}
class Instructor implements Person
{
float fSum = 0f;
float fBasicSal = 0f;
int iOutNum = 0;
int iEveryMon = 0;
public Instructor()
{
super();
this.fBasicSal = 1000;
this.iEveryMon = 30;
}
public float pay(int iOutNum)
{
return fSum = fBasicSal+iOutNum*iEveryMon;
}
}
class AssistantProfessor implements Person
{
float fSum = 0f;
float fBasicSal = 0f;
int iOutNum = 0;
int iEveryMon = 0;
public AssistantProfessor()
{
super();
this.fBasicSal = 1200;
this.iEveryMon = 35;
}
public float pay(int iOutNum)
{
return fSum = fBasicSal+iOutNum*iEveryMon;
}
}
class Professor implements Person
{
float fSum = 0f;
float fBasicSal = 0f;
int iOutNum = 0;
int iEveryMon = 0;
public Professor()
{
super();
this.fBasicSal = 1400;
this.iEveryMon = 40;
}
public float pay(int iOutNum)
{
return fSum = fBasicSal+iOutNum*iEveryMon;
}
}
复制代码
这是我写的哥们看看能否运行?{:soso_e113:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2