gpt4 book ai didi

java - arraylist java 宠物名称和芯片编号

转载 作者:行者123 更新时间:2023-11-30 04:08:15 24 4
gpt4 key购买 nike

我想创建一个类来存储狗详细信息对象的列表。我有一个 DogDetails 类,还有一个名为 Vetrinary 的类,我想在其中创建一个 ArrayList 来存储狗的详细信息。这就是我已经走了多远:

存储狗的详细信息的类

/**
* represents the details of a dog's identity
* pin for a vetrinary.
*/
public class DogDetails
{
// the dog name
private String name;
// the dogs pin
private int pin;

/**
* Create a new pet with a given name and chip pin.
*/
public DogDetails(String name, int pin)
{
this.name = name;
this.pin = pin;


}

/**
* Return the name of this dog.
*/
public String getDogName()
{
return name;
}

/**
* Return the chip of the dog.
*/
public int getPin()
{
return pin;
}
}

创建狗详细信息数组列表的类

import java.util.ArrayList;

/**
* A class to store a list of DogDetails objects
*/
public class Vetrinary
{
//An ArrayList for storing student loans.
private ArrayList<DogDetails> dogDetails;
int id;
String amount;

/**
* Add method taking the dog's name and pin
*/
public void addDog(String name, int pin)
{

}
}

我有点不确定该怎么做,我是否应该能够将狗的详细信息添加到 vert 类中,还是应该通过 DogDetails 类去那里。

最佳答案

您可能不想在 vert 类中构造狗:您应该给他一个 Dog 对象。

在这两个类之外(例如在您的 main 方法中)构造一只狗。然后将他添加到您的 vert 对象列表中。

Veterinary vet = new Veterinary();
Dog someDog = new Dog("Doggie", 2);

然后将其添加给您的 vert :

vet.addDog(someDog);

你的 vert 类(class)看起来像这样:

public class Veterinary {
private List<Dog> dogs = new ArrayList<Dog>();

public void addDog(Dog dog) {
dogs.add(dog);
}
}

您在 Veterinary 之外创建 Dog 的原因是因为可扩展性。如果您明天决定还希望在狗的构造函数中使用 Date 来标记其出生日期,那么您将必须更改所有方法。如果您只是传递 Dog ,则情况并非如此,您只需更改初始化即可。

如果你被迫走那条路:

public class Veterinary {
private List<Dog> dogs = new ArrayList<Dog>();

public void addDog(String name, int pin) {
Dog dog = new Dog(name, pin);
dogs.add(dog);
}
}

关于java - arraylist java 宠物名称和芯片编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20242942/

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