软件工程
简单的继承和多态
项目背景:创建animal类作为基类, Dog和cat类为子类展示继承和多态的基本应用
在软件工程中,继承和多态是面向对象编程(OOP)的核心概念,它们可以帮助我们构建模块化和可扩展的代码。以下是一个简单的示例,展示了如何使用继承和多态来创建一个基类 Animal,以及两个子类 Dog 和 Cat。
步骤1:创建 Animal 基类
首先,我们需要定义一个 Animal 类,它包含基本的属性和方法。
public class Animal {
// 属性
private String name;
private int age;
// 构造函数
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
// 方法
public void eat() {
System.out.println(name + " is eating.");
}
public void makeSound() {
System.out.println(name + " is making a sound.");
}
// 获取和设置方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
步骤2:创建子类 Dog 和 Cat
接下来,我们创建两个子类 Dog 和 Cat,它们继承自 Animal 类。
public class Dog extends Animal {
public Dog(String name, int age) {
super(name, age); // 调用父类的构造函数
}
@Override
public void makeSound() {
System.out.println(name + " is barking.");
}
}
public class Cat extends Animal {
public Cat(String name, int age) {
super(name, age); // 调用父类的构造函数
}
@Override
public void makeSound() {
System.out.println(name + " is meowing.");
}
}
步骤3:展示多态的应用
现在,我们可以创建 Dog 和 Cat 的实例,并展示多态的应用。
public class Test {
public static void main(String[] args) {
// 创建 Dog 和 Cat 的实例
Animal dog = new Dog("Buddy", 3);
Animal cat = new Cat("Kitty", 2);
// 调用子类的 overridden 方法
dog.eat(); // 输出:Buddy is eating.
dog.makeSound(); // 输出:Buddy is barking.
cat.eat(); // 输出:Kitty is eating.
cat.makeSound(); // 输出:Kitty is meowing.
}
}
在上述代码中,我们通过创建 Dog 和 Cat 类,并且让它们继承自 Animal 类,展示了类的继承。同时,通过重写 Animal 类的 makeSound 方法,展示了多态的概念。在 Test 类的 main 方法中,我们创建了 Dog 和 Cat 的实例,并通过调用 eat 和 makeSound 方法,展示了多态的好处——即同一个方法在不同子类中具有不同的行为。这就是简单的继承和多态在软件工程中的应用。