gpt4 book ai didi

java - 申请继承的建议

转载 作者:搜寻专家 更新时间:2023-11-01 03:52:18 25 4
gpt4 key购买 nike

我正在上一个类,用老麦克唐纳这首歌来演示继承;有一个动物接口(interface),一个实现每个动物对象的农场类。你明白了。我有两个问题。

1)动物有类型和声音,比如小鸡是

class Chick implements Animal {
private String myType;
private String mySound;
private String mySound2;
int flag =0;

public Chick(String type, String sound)
{
myType = type;
mySound = sound;
}

public Chick(String type, String sound,String sound2)
{
myType = type;
mySound = sound;
mySound2=sound2;
}

public Chick()
{
myType = "unknown";
mySound = "unknown";
}

public String getSound()
{
return mySound;
}

public String getType()
{
return myType;
}
}

我应该创建第二个带有标志的构造函数,该标志表明小鸡是幼稚的并返回声音“吱吱”还是成年并返回“咯咯”,以便 getSound() 返回两者的概率相等。我不知道该怎么做。我考虑过向构造函数添加一个 boolean 值,但这行不通,因为农场类只能创建一个 new Chick();我意识到你不只是要给我一个答案,但我什至不知道从哪里开始。

2) 另一个问题是我应该创建一个 NamedCow 类,正如您可能猜到的那样,它为奶牛命名。

我不能只给 cow 类添加一个 getName 方法,namedCow 必须是一个新类

public class NamedCow extends Cow {

private String myName;

NamedCow(String name)
{
myName = name;
}

public String getName()
{
return myName;
}

你能帮我根据需要为 Chick 和 Cow 类编写正确的代码吗?我必须在这两个类中进行哪些更改?

最佳答案

对于 Chick 问题,我会使用如下随机方法: http://docs.oracle.com/javase/7/docs/api/java/util/Random.html

使用 nextBoolean() 并将其结果传递给 getSound(boolean isChild) 方法

然后检查 getSound() 方法

if (isChild)
return "cheep";
else
return "cluck";

如果你希望每次都得到小鸡的随机响应。只需将随机生成器添加到方法中

String getSound(){

Random r = new Random();

if (r.nextBoolean)
return "cheep";
else
return "cluck";
}

关于牛的问题,我会创建一个继承animal的牛类,然后写一个方法:例如这样的事情:

nameCow(String name){
this.cowName=name;
}

关于java - 申请继承的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22490518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com