Java小程序之 人(person)喂养猫(cat)和狗(dog)统称为动物(Animal),要求:运用抽象类、继承 提示:Animal为抽象类,Cat、Dog为..........
程序员文章站
2022-03-26 21:02:59
抽象类、继承的练习请细细品味!点赞,关注!支持一下,给点动力!1.定义动物类属性:年龄,颜色生成空参有参构造,set和get方法行为:eat(String something)方法(无具体行为,不同动物吃的方式和东西不一样,something表示吃的东西)2.定义狗类继承动物类,行为:eat(String something)方法,看家lookHome方法(无参数)3.定义猫类继承动物类,行为:eat(String something)方法,逮老鼠catchMouse方法(无参数)4.定义P...
抽象类、继承的练习
请细细品味!点赞,关注!支持一下,给点动力!
1.定义动物类
属性:年龄,颜色
生成空参有参构造,set和get方法
行为:eat(String something)方法(无具体行为,不同动物吃的方式和东西不一样,something表示吃的东西)
2.定义狗类继承动物类,行为:eat(String something)方法,看家lookHome方法(无参数)
3.定义猫类继承动物类,行为:eat(String something)方法,逮老鼠catchMouse方法(无参数)
4.定义Person类
生成空参有参构造,set和get方法属性:(姓名,年龄)
行为:keepPet( String something)方法
功能:喂养【宠物狗】和【宠物猫】,问号处自己思考,something表示喂养的东西
定义测试类,使用Perosn对象调用keepPet方法,实现运行结果运
年龄为30岁的老王养了一只黑颜色的2岁的宠物
2岁的黑颜色的狗两只前腿死死的抱住骨头猛吃
年龄为25岁的老李养了一只灰颜色的3岁的宠物
3岁的灰颜色的猫眯着眼睛侧着头吃鱼
首先创建抽象类Animal
public abstract class Animal {
private int age;
private String color;
public Animal() {
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public abstract void eat(String something);
}
然后编写抽象类Animal的实现类Cat和Dog
//Cat类
public class Cat extends Animal{
@Override
public void eat(String something) {
System.out.println(getAge() +"岁"+getColor()+"颜色的猫眯着眼睛侧着头吃"+ something );
}
public void catchMouse() {
System.out.println("猫逮老鼠");
}
}
//Dog类
public class Dog extends Animal{
@Override
public void eat(String something) {
System.out.println(getAge() +"岁"+getColor()+"颜色的狗两只前腿死死的抱住"+ something+"猛吃" );
}
public void lookHome() {
System.out.println("狗看家");
}
}
接着编写Person类传入食物和喂养的宠物类型
public class Person {
private String name;
private int age;
public Person() {
}
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;
}
/*
* 年龄为30岁的老王养了一只黑颜色的2岁的宠物
* 2岁的黑颜色的狗两只前腿死死的抱住骨头猛吃
* 年龄为25岁的老李养了一只灰颜色的3岁的宠物
* 3岁的灰颜色的猫眯着眼睛侧着头吃鱼
*/
public void keepPet(String something,Animal animal) {
System.out.println("年龄为" + this.getAge() + "岁的"+this.getName()+"养了一只"+ animal.getColor() +"颜色的"+animal.getAge()+"的宠物");
animal.eat(something);
}
}
最后编写测试类
public class Test {
public static void main(String[] args) {
Animal dog = new Dog();
dog.setColor("黑");
dog.setAge(2);
Person person1 = new Person();
person1.setAge(30);
person1.setName("老王");
person1.keepPet("骨头", dog);
Animal cat = new Cat();
cat.setColor("灰");
cat.setAge(3);
Person person = new Person();
person.setAge(25);
person.setName("老李");
person.keepPet("鱼", cat);
}
}
要是对您有帮助请点个赞,然后关注一下,给点动力,谢谢!
本文地址:https://blog.csdn.net/weixin_45144624/article/details/107369713
上一篇: String类和StringBuffer类的互相转换
下一篇: Java中AES加解密的工具类