Java基础学习小项目——太阳马戏团(使用面向对象多态的特征实现)

Java基础马戏团小项目

1、使用多态的特征实现,用到现学的所有知识

效果
*********欢迎来到太阳马戏团**********
********  请选择表演者  ********
********    1、棕熊     ********
********    2、狮子     ********
********    3、猴子     ********
********    4、鹦鹉     ********
********    5、小丑     ********
1
表演者:Bill
年龄:1岁
技能:挽着花篮,打着雨伞,独自走秀
爱好:喜欢卖萌
********    是否继续观看(0/1)     ********
1
*********欢迎来到太阳马戏团**********
********  请选择表演者  ********
********    1、棕熊     ********
********    2、狮子     ********
********    3、猴子     ********
********    4、鹦鹉     ********
********    5、小丑     ********
2
表演者:Lain
年龄:2岁
性别:公狮
毛色:灰色
技能:擅长钻火圈
爱好:喜欢吃各种肉类
********    是否继续观看(0/1)     ********
1
*********欢迎来到太阳马戏团**********
********  请选择表演者  ********
********    1、棕熊     ********
********    2、狮子     ********
********    3、猴子     ********
********    4、鹦鹉     ********
********    5、小丑     ********
3
表演者:Tom
年龄:1岁
品种:金丝猴
技能:骑独轮车过独木桥
爱好:喜欢模仿人对的动作表情
********    是否继续观看(0/1)     ********
1
*********欢迎来到太阳马戏团**********
********  请选择表演者  ********
********    1、棕熊     ********
********    2、狮子     ********
********    3、猴子     ********
********    4、鹦鹉     ********
********    5、小丑     ********
4
表演者:Rose
年龄:1岁
品种:牡丹鹦鹉
技能:擅长模仿
爱好:喜欢吃坚果和松子
********    是否继续观看(0/1)     ********
1
*********欢迎来到太阳马戏团**********
********  请选择表演者  ********
********    1、棕熊     ********
********    2、狮子     ********
********    3、猴子     ********
********    4、鹦鹉     ********
********    5、小丑     ********
5
表演者:Kahle
艺龄:5年
着装:身穿五彩服装,头上戴着彩色的帽子,脸上画着夸张的彩妆
技能:脚踩高跷,进行杂技魔术表演
********    是否继续观看(0/1)     ********
0
********    欢迎下次光临     ********

2、实现

IACT .java(表演接口)

package com.imooc.model;

//表演接口
public interface IACT {
	//技能
	public String skill();
	//表演
	public String act();
}

Animal .java(动物抽象类)

package com.imooc.model;

//动物抽象类
public abstract class Animal {
	private String name;
	private int age;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
	
	public Animal() {
		
	}
	public Animal(String name,int age) {
		this.setName(name);
		this.setAge(age);
		
	}

	//爱好
	public abstract String love();
}

Bear.java

package com.imooc.model;

public class Bear extends Animal implements IACT {
	
	public Bear() {
	}
	public Bear(String name,int age) {
		super(name,age);
	}

	@Override
	public String skill() {
		// TODO Auto-generated method stub
		return "挽着花篮,打着雨伞,独自走秀";
	}



	@Override
	public String love() {
		// TODO Auto-generated method stub
		return "喜欢卖萌";
	}
	
	public String act() {
		return "表演者:"+this.getName()+"\n年龄:"+this.getAge()+"岁"+"\n技能:"+this.skill()+"\n爱好:"+this.love();
	}

}

Clown.java

package com.imooc.model;

public class Clown implements IACT {

	private String name;
	private int actAge;

	public Clown() {
		
	}
	public Clown(String name,int actAge) {
		this.setName(name);
		this.setActAge(actAge);
	}
	
	
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getActAge() {
		return actAge;
	}

	public void setActAge(int actAge) {
		this.actAge = actAge;
	}

	public String dress() {
		return "身穿五彩服装,头上戴着彩色的帽子,脸上画着夸张的彩妆";
	}



	@Override
	public String skill() {
		// TODO Auto-generated method stub
		return "脚踩高跷,进行杂技魔术表演";
	}

	@Override
	public String act() {
		// TODO Auto-generated method stub

		return "表演者:" + this.getName() + "\n艺龄:" + this.getActAge()+"年" + "\n着装:" + this.dress() + "\n技能:" + this.skill();
	}

}

Lion .java

package com.imooc.model;

public class Lion extends Animal implements IACT {
	private String color;
	private String sex;
	
	
	public Lion() {
		
	}
	public Lion(String name,int age,String color,String sex) {
		super(name,age);
		this.setColor(color);
		this.setSex(sex);
	}
	
	
	
	
	public String getColor() {
		return color;
	}


	public void setColor(String color) {
		this.color = color;
	}


	public String getSex() {
		return sex;
	}


	public void setSex(String sex) {
		this.sex = sex;
	}


	@Override
	public String skill() {
		// TODO Auto-generated method stub
		return "擅长钻火圈";
	}
	

	@Override
	public String act() {
		// TODO Auto-generated method stub
//		this.name();
		return "表演者:"+this.getName()+"\n年龄:"+this.getAge()+"岁"+"\n性别:"+this.getSex()+"\n毛色:"+this.getColor()+"\n技能:"+this.skill()+"\n爱好:"+this.love();
	}

	@Override
	public String love() {
		// TODO Auto-generated method stub
		return "喜欢吃各种肉类";
	}

}

Monkey .java

package com.imooc.model;

public class Monkey extends Animal implements IACT {
	private String type;
	
	public Monkey() {
		
	}
	public Monkey(String name,int age,String type) {
		super(name,age);
		this.setType(type);
		
	}
	
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}
	

	@Override
	public String skill() {
		// TODO Auto-generated method stub
		return "骑独轮车过独木桥";
	}

	@Override
	public String act() {
		// TODO Auto-generated method stub

		return "表演者:"+this.getName()+"\n年龄:"+this.getAge()+"岁"+"\n品种:"+this.getType()+"\n技能:"+this.skill()+"\n爱好:"+this.love();
	}

	@Override
	public String love() {
		// TODO Auto-generated method stub
		return "喜欢模仿人对的动作表情";
	}

}

Parrot.java

package com.imooc.model;

public class Parrot extends Animal implements IACT {
	private String type;

	public Parrot() {
		
	}
	public Parrot(String name,int age,String type) {
		super(name,age);
		this.setType(type);
		
	}
	
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}



	@Override
	public String skill() {
		// TODO Auto-generated method stub
		return "擅长模仿";
	}

	@Override
	public String act() {
		// TODO Auto-generated method stub

		return "表演者:"+this.getName()+"\n年龄:"+this.getAge()+"岁"+"\n品种:"+this.getType()+"\n技能:"+this.skill()+"\n爱好:"+this.love();
	}

	@Override
	public String love() {
		// TODO Auto-generated method stub
		return "喜欢吃坚果和松子";
	}

}

Begin.java

package com.imooc.begin;

import java.util.Scanner;

import com.imooc.model.Bear;
import com.imooc.model.Clown;
import com.imooc.model.IACT;
import com.imooc.model.Lion;
import com.imooc.model.Monkey;
import com.imooc.model.Parrot;

public class Begin {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		UI one = new UI();
		one.menu();
	}

}

class UI {
	public void menu() {
		boolean flag = true;
		IACT actor = null;
		while (flag) {
			show();
			Scanner sc = new Scanner(System.in);
			int input = sc.nextInt();
			switch (input) {
			case 1:
				actor = new Bear("Bill",1);
				System.out.println(actor.act());
				break;
			case 2:
				actor = new Lion("Lain",2,"灰色","公狮");
				System.out.println(actor.act());
				break;
			case 3:
				actor = new Monkey("Tom",1,"金丝猴");
				System.out.println(actor.act());
				break;
			case 4:
				actor = new Parrot("Rose",1,"牡丹鹦鹉");
				System.out.println(actor.act());
				break;
			case 5:
				actor  = new Clown("Kahle",5);
				System.out.println(actor.act());
				break;
			default:
				System.out.println("请输入正确的数字!");
				continue;
			}
			System.out.println("********    是否继续观看(0/1)     ********");
			int input2 = sc.nextInt();
			
			switch (input2) {
			case 1:
//				flag = true;
				break;
			case 0:
				flag = false;
				System.out.println("********    欢迎下次光临     ********");
				break;
			}
		}

	}
	
static void show() {
	System.out.println("*********欢迎来到太阳马戏团**********");
	System.out.println("********  请选择表演者  ********");
	System.out.println("********    1、棕熊     ********");
	System.out.println("********    2、狮子     ********");
	System.out.println("********    3、猴子     ********");
	System.out.println("********    4、鹦鹉     ********");
	System.out.println("********    5、小丑     ********");
}
}

  • 7
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值