Java程序-类的组合

96 阅读3分钟

一、实验目的

  • 理解 Java 中类的定义和使用。掌握类的组合概念,通过一个类包含另一个类的对象来实现更复杂的功能。

二、实验内容

1. 类的设计

  • Girl 类:代表女生,包含两个成员变量 name (姓名)和 height (身高)。构造方法用于初始化这两个变量。同时,有一个方法 keepPet ,用于表示女生养宠物的行为,该方法接收一个 Pet 类的对象作为参数,在方法中打印女生在养宠物的信息,并调用宠物的 eat 方法。
  • Pet 类:代表宠物,有两个成员变量 name (宠物名字)和 furColor (皮毛颜色)。构造方法用于初始化这两个变量。 eat 方法用于表示宠物吃东西的行为,打印宠物在吃东西的信息。
  • Test 类:包含 main 方法,用于创建 Girl 和 Pet 对象,并让女生养宠物,触发一系列行为。

2. 代码实现

class Girl {
    String name;
    double height;

    public Girl(String name, double height) {
        this.name = name;
        this.height = height;
    }

    public void keepPet(Pet pet) {
        System.out.println(name + "在养宠物。");
        pet.eat();
    }
}

class Pet {
    String name;
    String furColor;

    public Pet(String name, String furColor) {
        this.name = name;
        this.furColor = furColor;
    }

    public void eat() {
        System.out.println(name + "宠物在吃东西。");
    }
}

public class Test {
    public static void main(String[] args) {
        Girl girl = new Girl("小美", 1.65);
        Pet pet = new Pet("咪咪", "白色");
        girl.keepPet(pet);
    }
}

三、以下是对上述代码的详细解释:

a. Girl 类

1. 成员变量:

  •  String name :用于存储女生的姓名。
  •  double height :用于存储女生的身高。

2. 构造方法:

  •  public Girl(String name, double height) :接收女生的姓名和身高作为参数,在构造对象时初始化成员变量。

3. 方法:

  •  public void keepPet(Pet pet) :这个方法用于表示女生养宠物的行为。它接收一个 Pet 类型的对象作为参数。
  •  System.out.println(height + "的" + name + "养宠物"); :打印出女生的身高和姓名以及“养宠物”的信息。
  •  pet.eat(); :调用传入的宠物对象的 eat 方法,让宠物吃东西。

b. Pet 类

1. 成员变量:

  •  String name :用于存储宠物的名字。
  •  String furColor :用于存储宠物皮毛的颜色。

2. 构造方法:

  •  public Pet(String name, String furColor) :接收宠物的名字和皮毛颜色作为参数,在构造对象时初始化成员变量。

3. 方法:

  •  public void eat() :这个方法用于表示宠物吃东西的行为。打印出宠物皮毛的颜色和名字以及“宠物在吃东西”的信息。

c.Test 类

1.  main 方法:

  •  Girl girl = new Girl("lisa", 1.80); :创建一个女生对象,名为“lisa”,身高为 1.80。

  •  Pet pet = new Pet("大福", "黄色"); :创建一个宠物对象,名为“大福”,皮毛颜色为“黄色”。

  •  girl.keepPet(pet); :让女生对象养宠物对象,触发女生的养宠物行为,进而调用宠物的吃东西方法,最终输出“1.80 的 lisa 养宠物”和“黄色的大福吃东西”。

四、实验结果

image.png

五、实验总结

1. 通过本次实验,深入理解了 Java 中类的定义和构造方法的使用,能够根据实际需求设计和实现类的成员变量和方法。

2. 掌握了类的组合这一重要概念,通过在一个类中包含另一个类的对象,可以实现更复杂的功能和模拟现实世界中的关系。例如,在本实验中,女生类包含宠物类的对象,很好地模拟了女生养宠物的场景。