野心家

导航

简单的继承使用案例1

(一)、写一个怪物的类,类中有属性姓名(name),攻击力(attack),有打人的方法(fight)。
再写两个子类:
红猪的类:类中有属性姓名(name),攻击力(attack),颜色(color)。红猪也有一个打人的方法(fight),要求在此方法中输出“XX猪是XX颜色的,打掉了人XX点血”。
蛇类:类中有属性姓名(name),有攻击力属性(attack),有几条脚属性(foot)。蛇也有一个打人的方法
(fight),要求在此方法中输出“XX蛇用XX条脚跑到人面前去打人,打掉了人XX点血”。
写一个测试类,生成一只红猪,调用此红猪的打人方法,观察结果。再生成一条蛇,调用此蛇的打人方法。
(注意:代码的重用,及方法重写带来的多态行为)

package com.lanxi.demo1;

public class Monster {
	String name;
	int attack;
	public Monster(String name,int attack){
		this.name=name;
		this.attack=attack;
	}
	public void fight(){
		
	}

}

  

package com.lanxi.demo1;

public class RedPig extends Monster{
	char color;
	public RedPig(char color){
		super("侠侠",56);
		this.color=color;
	}

	@Override
	public void fight() {
		System.out.println(name+"猪是"+color+"颜色的,打掉了人"+attack+"点血");
	}
	

}

  

package com.lanxi.demo1;

public class Snack extends Monster{
	int food;
	public Snack(int food){
		super("眼镜",85);
		this.food=food;
	}

	@Override
	public void fight() {
		System.out.println(name+"蛇用"+food+"条脚跑到人面前去打人,打掉了人"+attack+"点血");
	}
	

}

  

package com.lanxi.demo1;

public class Test {
	public static void main(String[] args) {
		Monster mon=new RedPig('红');
		mon.fight();
		Monster mon1=new Snack(5);
		mon1.fight();
	}

}

  

posted on 2017-12-27 12:08  野心家  阅读(360)  评论(0编辑  收藏  举报