Java面向对象继承与多态介绍
继承的定义及作用
继承是指一个类继承(获取)另一个类的属性和方法,被继承的类称为父类(也称为基类、超类),继承的类称为子类(派生类)。继承可以使代码复用和扩展程序。子类可以使用父类的方法和属性,同时还可以根据需求重写父类的方法或者添加新的方法和属性。
示例代码:
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("Animal is eating.");
}
public void sleep() {
System.out.println("Animal is sleeping.");
}
}
public class Dog extends Animal {
public Dog(String name, int age) {
super(name, age);
}
public void bark() {
System.out.println("Dog is barking.");
}
}
在这个例子中,我们定义了一个动物类和一个狗类,狗类继承了动物类。狗类可以使用动物类的属性和方法,同时还添加了自己的方法 bark()。
多态的定义及作用
多态是指同一个方法在不同情境下有不同的实现方式。在同一个基类和同一个方法名的前提下,不同的子类有不同的方法实现方式。这样做可以提高程序代码的灵活性和可扩展性。
示例代码:
public class Shape {
public void draw() {
System.out.println("Drawing shape.");
}
}
public class Circle extends Shape {
@Override
public void draw() {
System.out.println("Drawing circle.");
}
}
public class Square extends Shape {
@Override
public void draw() {
System.out.println("Drawing square.");
}
}
在这个例子中,我们定义了一个形状类和两个形状类的子类,每个子类继承了形状类并重写了 draw() 方法,实现了不同的绘制形状。
继承和多态的关系
继承和多态紧密相关,使用继承可以方便地实现多态。在继承的基础上,子类可以重写父类的方法,从而实现不同的实现方式。通过多态的方式,我们可以用父类类型的变量来引用不同子类类型的对象,方便我们进行方法调用。
示例代码:
public class Test {
public static void main(String[] args) {
Shape shape1 = new Circle();
Shape shape2 = new Square();
shape1.draw();
shape2.draw();
}
}
在这个例子中,我们定义了一个测试类,并创建了一个圆形对象和一个正方形对象,并用一个形状类型的变量分别引用这两个对象。调用 draw() 方法时会分别调用圆形类和正方形类的实现方式,体现了多态的特性。
总结
通过继承和多态的实现,我们可以使代码更加灵活和可扩展,为程序的设计和实现提供了更多的优化空间。在使用过程中需要注意继承关系的理解和构建,同时还需要重载和重写方法时的规则和注意点。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java面向对象继承与多态介绍 - Python技术站