五粮液哪款酒最好喝:急求Java程序代码
来源:百度文库 编辑:高考问答 时间:2024/05/10 06:30:03
另外需要提到的是,针对于不同的种族,它们有各自独自的特性,如侏儒族能够瞬间移动(instantMove), 类人族能够走路(walk),而鱼人族能够游泳(swim)。
你需要把以上的这个世界简单的抽象一些,要求如下:
一、 定义一个火星人的类(注意:它实际上是火星类人族的简称)。注意用类名MarPerson,在火星人下定义一个老师类和学生类,类名分别是MarStudent和MarTeacher。
要求:1. 方法的定义只是简单的描述返回信息。
2.构造函数按需要定义
[MarPerson(-name,-sex;+speak(),+intake())]<--{[MarTeacher(
-wage;+teach())],[MarStudent(-grade;+learn())]}
二、 定义humanlike接口,并使MarPerson实现类人族(humanlike)的接口,并实现其接口。
三、 把所有的定义类或接口定义在一个叫marworld的包下。
额外任务
四、 在MarPerson类中,定义一个id属性来标示火星人的身份号,再定义一个nextID的静态属性,在产生一个新的火星人对象时控制Id号的产生(一个顺序排列的号)。
思考:请自己抽象一下侏儒族和鱼人族的类,并实现相应的接口。
package MarWorld;
class MarPerson implements humanlike
{
int id;
protected int nextid=1;
MarPerson()
{
id=nextid;
nextid++;
}
protected String name;
protected String sex;
public void speak()
{
System.out.println("I'm a MarPerson!");
}
public void intake()
{
System.out.println("I'm intaking 300 calorie everyday!");
}
}
interface humanlike
{
void speak();
}
class MarTeacher extends MarPerson
{
private int wage;
public int getWage()
{
return wage;
}
public void setWage(int wage)
{
this.wage=wage;
}
public void teach()
{
System.out.println("teaching!");
}
}
class MarStudent extends MarPerson
{
private int grade;
public int getGrade()
{
return grade;
}
public void setGrade(int grade)
{
this.grade=grade;
}
public void learn()
{
System.out.println("learning!");
}
}
思考题就不做了,自己想一想,很容易的