面向对象之宠物大作战java
时间: 2023-10-17 14:12:18 浏览: 37
好的,那我来给你举一个面向对象的宠物大作战Java的例子。
首先,我们定义一个宠物类Pet,包含属性name、age、gender等,以及方法speak()。
```java
public class Pet {
private String name;
private int age;
private String gender;
public Pet(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public void speak() {
System.out.println("Hello, I am a pet!");
}
}
```
然后,我们定义一个猫类Cat,继承自宠物类Pet,并添加猫特有的方法scratch()和meow()。
```java
public class Cat extends Pet {
public Cat(String name, int age, String gender) {
super(name, age, gender);
}
public void scratch() {
System.out.println("I am scratching!");
}
public void meow() {
System.out.println("Meow!");
}
}
```
接着,我们定义一个狗类Dog,同样继承自宠物类Pet,并添加狗特有的方法bark()和fetch()。
```java
public class Dog extends Pet {
public Dog(String name, int age, String gender) {
super(name, age, gender);
}
public void bark() {
System.out.println("Woof!");
}
public void fetch() {
System.out.println("I am fetching!");
}
}
```
最后,我们定义一个宠物大作战类Battle,包含属性pet1和pet2,分别表示两只宠物。同时,我们还定义方法start(),用于开始一场宠物大作战。
```java
public class Battle {
private Pet pet1;
private Pet pet2;
public Battle(Pet pet1, Pet pet2) {
this.pet1 = pet1;
this.pet2 = pet2;
}
public void start() {
System.out.println("The battle starts!");
pet1.speak();
pet1.scratch();
pet2.speak();
pet2.bark();
}
}
```
这样,我们就可以创建不同的宠物对象,然后进行宠物大作战了。
```java
public static void main(String[] args) {
Pet cat = new Cat("Tom", 2, "male");
Pet dog = new Dog("Max", 3, "female");
Battle battle = new Battle(cat, dog);
battle.start();
}
```
输出结果如下:
```
The battle starts!
Hello, I am a pet!
I am scratching!
Hello, I am a pet!
Woof!
```