JAVA面向接口编程课堂练习(马戏团)

在这里插入图片描述

package com;

public interface IAction {
    public void show();
    public void lan(); 
}


package com;

public interface IAnimal  extends IAction{
	   

}

package com;

public abstract class Actor implements IAnimal{
    public String name;
	@Override
	public abstract void show() ;

	@Override
	public abstract void lan() ;

}

package com;

public class Dog extends Actor{
 
	public Dog() {
		this.name="狗";
	}
	
	@Override
	public void show() {
		// TODO Auto-generated method stub
		System.out.println("狗狗开始表演,背上小背篓,站立行走");
	}

	@Override
	public void lan() {
		// TODO Auto-generated method stub
		System.out.println("看图识数,汪汪汪");
	}

}

package com;

public class Monkey extends Actor {

	public Monkey() {
		this.name="猴子";
	}
	
	
	@Override
	public void show() {
		// TODO Auto-generated method stub
		System.out.println("猴子开始表演,跳钢圈,走钢丝");
	}

	@Override
	public void lan() {
		// TODO Auto-generated method stub
		System.out.println("拉着你的手,亲爱的你别走!");
	}

}

package com;

public class Circus {
   //定义马戏团
   private Actor act;
   
   public void enter(Actor act) {
	   this.act=act;
	   System.out.println(this.act.name+"进场啦");
   }
	
   public void show() {	   
	   this.act.show();	   
   }
   
   public void lan() {
	   this.act.lan();	   
   }
   
	
	
}

package com;

public class TestPlay {

	public static void main(String[] args) {
		Circus c=new Circus();   //马戏团创建		
		Monkey mon=new Monkey();
		Dog dog=new Dog();		
		//		c.enter(mon);   //猴子进场		
				c.show();
		//		c.lan();			
		c.enter(dog);   //狗进场
		c.show();
		c.lan();
	}

}

狗进场啦
狗狗开始表演,背上小背篓,站立行走
看图识数,汪汪汪
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
)太阳马戏团是一个由表演者、杂技师、驯兽师和其他工作人员组成的团体。该团体可以通过面向对象的多态特征实现。 首先,表演者、杂技师和驯兽师都是太阳马戏团的员工,可以将它们抽象为一个基类Employee。该类包含员工的基本信息,例如姓名、年龄和工作经验等。 接下来,每个员工都有自己独特的技能,例如表演者会唱歌跳舞,杂技师会做各种特技,驯兽师会训练动物等。因此,可以为每个员工定义一个虚函数perform(),用于执行员工的特定技能。例如,表演者的perform()函数可以是唱歌跳舞,杂技师的perform()函数可以是做特技,驯兽师的perform()函数可以是训练动物。 此外,太阳马戏团还有其他工作人员,例如售票员和保安等。这些工作人员不需要perform()函数,因此可以将它们定义为Employee类的派生类,但不需要重写perform()函数。例如,售票员和保安可以分别定义为TicketSeller和SecurityGuard类,它们都是Employee类的派生类,但不需要定义perform()函数。 最后,太阳马戏团可以实现一个show()函数,用于执行整个马戏团的表演。该函数可以遍历所有的员工,并调用它们的perform()函数,以展示每个员工的技能。例如,show()函数可以遍历所有的员工,如果是表演者,就调用perform()函数唱歌跳舞;如果是杂技师,就调用perform()函数做特技;如果是驯兽师,就调用perform()函数训练动物;如果是售票员或保安,就不需要执行任何操作。 通过这种方式,太阳马戏团可以使用面向对象的多态特征实现,简化代码并提高代码的可维护性和可扩展性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值