java题目,求助,多态。
java题目,求助,多态。设计一个程序,用来描述训练员训练动物,带动物表演。请用面向对象思想的封装、继承、多态完成以下要求。A、训练的动物是鹦鹉菲菲、海豚静静;B、鹦鹉菲...
java题目,求助,多态。设计一个程序,用来描述训练员训练动物,带动物表演。请用面向对象思想的封装、继承、多态完成以下要求。
A、训练的动物是鹦鹉菲菲、海豚静静;
B、鹦鹉菲菲训练项目:在天上飞;
C、海豚静静训练项目:在水里游;
D、鹦鹉菲菲表演项目:天空翻转飞翔;
E、海豚静静表演项目:水里跳跃;
F、训练员阿平每天都要训练动物:[不管接收什么动物,都要对动物进行项目训练。]
G、训练员阿平每周带动物表演一次:[根据游客要求,带不同的动物表演节目。] 展开
A、训练的动物是鹦鹉菲菲、海豚静静;
B、鹦鹉菲菲训练项目:在天上飞;
C、海豚静静训练项目:在水里游;
D、鹦鹉菲菲表演项目:天空翻转飞翔;
E、海豚静静表演项目:水里跳跃;
F、训练员阿平每天都要训练动物:[不管接收什么动物,都要对动物进行项目训练。]
G、训练员阿平每周带动物表演一次:[根据游客要求,带不同的动物表演节目。] 展开
1个回答
展开全部
public class 多态
{
public static void main(String[] args)
{
System.out.println("\n\t\t==========java题目,求助,多态!==========\n");
init();
}//初始化!
private static void init()
{
Animal f=new Ff("菲菲");
Animal j=new Jj("静静");
Ap a=new Ap("阿平",f);
//假设单数双数为换周,换节目表演的话!
for (int i=1;i<=3 ;i++ )
{
if(i%2!=0)
a.setInstanceof(f);
else
a.setInstanceof(j);
a.train();
a.perform();
System.out.println("\n-------------------------------------------------\n");
}
}
}
interface Animal
{
void train();
void perform();
}
abstract class F implements Animal
{
F(String name){this.name=name;}
protected String name;
abstract public void train();
abstract public void perform();
}
class Ff extends F
{
Ff(String name){super(name);}
public void train()
{
System.out.println(name+":---->天上飞!");
}
public void perform()
{
System.out.println(name+":--->天空翻转飞翔");
}
}
class Jj extends F
{
Jj(String name){super(name);}
public void train()
{
System.out.println(name+":------------------>水里游");
}
public void perform()
{
System.out.println(name+":----------->水里跳跃");
}
}
class Ap extends F
{
private Animal a;
Ap(String name,Animal a){super(name);this.a=a;}
void setInstanceof(Animal a)
{
this.a=a;
}
public void train()
{
if(a==null)return;
System.out.println(name+":训练动物");
if(a instanceof Ff)
{
Ff f=(Ff)a;
f.train();
}else
{
Jj j=(Jj)a;
j.train();
}
}
public void perform()
{
if(a==null)return;
System.out.println("特技展示:");
if(a instanceof Ff)
{
Ff f=(Ff)a;
f.perform();
}else
{
Jj j=(Jj)a;
j.perform();
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询