实现狗猫鱼三个类,要求如下:
1.要求狗和猫的类里,有毛色的属性,而鱼的这个类里,没有这个属性。狗猫鱼这三个类里有关于这三种动物移动方式的方法。另外还需要有这三种动物食物的方法
2.要求可以对猫狗鱼这三个类进行依据数量的构造。对于猫狗这两个类还需要有依据毛色进行构造
3.需要对已经构造的猫狗鱼这三个类进行命名然后进行毛色和名字的查询
4.在类的实现过程中要求尽可能提取共有逻辑以避免重复代码
用java写出代码。
谁给你出的狗猫鱼这种垃圾题目啊!太low了
😳关键我不太会呀,求答案!拜托!
class 动物{
void 吃();
void 行动();
动物 查询(名字);
int 数量{get;set;}
ctor(数量){this.数量=数量;}
名字{get;set;}
}
class 没毛的 extend 动物{}
class 有毛的 extend 动物{string 毛色{get;set;} ctor(毛色){this.毛色=毛色;}}
差不多就这样啦
建议自己敲一下代码,正如一楼的回答,这个太low了,没啥意义。既然你不会,就跟随上面的思路 自己敲一下吧,加油!
这个你可以采取定义动物接口,把共性的行为定义进去,其他三个动物实现那个接口就好了.应该主要考察接口和继承
这是我的个人想法,可以相互交流一下。使用继承实现动物的属性和构造方法,然后使用接口实现相应的功能。代码如下:
package com.fefjay.animal;
public class Animal {
/*
* 动物类:指定动物的属性,还有构造方法
*/
class MyAnimal {
private String name;
private String furColor;
private boolean hasFur;
private int num;
public MyAnimal() {
}
public MyAnimal(String name) {
this.name = name;
}
public MyAnimal(int num) {
this.num = num;
}
public MyAnimal(String name, int num) {
this.name = name;
this.num = num;
}
public MyAnimal(String name, boolean hasFur, String furColor) {
this.name = name;
this.hasFur = hasFur;
if (hasFur) {
this.furColor = furColor;
} else {
furColor = null;
}
}
public String getFurColor() {
return furColor;
}
public void setFurColor(String furColor) {
if (hasFur) {
this.furColor = furColor;
} else {
this.furColor = null;
}
}
public boolean isHasFur() {
return hasFur;
}
public void setHasFur(boolean hasFur) {
this.hasFur = hasFur;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
}
/*
* 动物行为接口:实现该接口表示动物有什么样的功能
*/
interface AnimalBehavior {
public void move();
public void eat();
}
/*
* 猫
*/
class Cat extends MyAnimal implements AnimalBehavior {
public Cat() {
}
public Cat(String color) {
super("cat", true, color);
}
public Cat(int num) {
super("cat", num);
}
@Override
public void move() {
// TODO Auto-generated method stub
}
@Override
public void eat() {
// TODO Auto-generated method stub
}
}
/*
* 狗
*/
class Dog extends MyAnimal implements AnimalBehavior {
public Dog() {
}
public Dog(String color) {
super("Dog", true, color);
}
public Dog(int num) {
super("Dog", num);
}
@Override
public void move() {
// TODO Auto-generated method stub
}
@Override
public void eat() {
// TODO Auto-generated method stub
}
}
/*
* 鱼
*/
class Fish extends MyAnimal implements AnimalBehavior {
public Fish() {
}
public Fish(int num) {
super("Fish", num);
}
@Override
public void move() {
// TODO Auto-generated method stub
}
@Override
public void eat() {
// TODO Auto-generated method stub
}
}
}