返回

Java 面向对象三大法宝:封装、继承和多态

开发工具

Java 面向对象三大法宝:封装、继承和多态

面向对象编程是计算机科学中的一种编程范式,它强调对象而不是动作和数据之间的交互。面向对象编程的三大法宝是:封装、继承和多态。封装是指将数据和操作封装在一起,以创建独立的实体。继承是指从一个类派生出另一个类,以重用代码和数据。多态是指允许不同类的对象以相同的方式执行相同的操作。

封装

封装是面向对象编程的基本原则之一。它是指将对象的属性和方法绑定在一起,并对外界隐藏对象的内部实现细节。这样做的目的是为了提高代码的安全性、可维护性和可重用性。

在 Java 中,封装可以通过访问控制修饰符来实现。访问控制修饰符有四种:public、protected、default 和 private。public 表示该成员对所有类都是可见的。protected 表示该成员对该类及其子类都是可见的。default 表示该成员对该包中的所有类都是可见的。private 表示该成员只对该类本身可见。

继承

继承是面向对象编程的另一个基本原则。它是指从一个类派生出另一个类,以重用代码和数据。派生出的类称为子类,而原有的类称为父类。子类继承了父类的所有属性和方法,并可以扩展新的属性和方法。

在 Java 中,继承通过 extends 来实现。例如,以下代码定义了一个名为 Child 的类,它继承了名为 Parent 的类:

class Child extends Parent {
  // 子类的特有属性和方法
}

多态

多态是面向对象编程的第三个基本原则。它是指允许不同类的对象以相同的方式执行相同的操作。多态可以通过方法重写和接口来实现。

方法重写是指在子类中重新定义父类中的方法。当子类对象调用该方法时,将执行子类中重写的方法,而不是父类中的方法。例如,以下代码定义了一个名为 Child 的类,它重写了名为 print() 的方法:

class Child extends Parent {
  @Override
  public void print() {
    System.out.println("Child");
  }
}

接口是指定义了一组方法的类。接口没有成员变量,也不能实例化。接口可以被类实现。当一个类实现了某个接口时,该类必须实现接口中定义的所有方法。例如,以下代码定义了一个名为 Printable 的接口,它定义了一个名为 print() 的方法:

interface Printable {
  void print();
}

以下代码定义了一个名为 Child 的类,它实现了 Printable 接口:

class Child implements Printable {
  @Override
  public void print() {
    System.out.println("Child");
  }
}

现在,我们可以使用以下代码来调用 Child 对象的 print() 方法:

Child child = new Child();
child.print(); // 输出:Child

由于 Child 类实现了 Printable 接口,因此我们可以使用 Printable 接口的引用来引用 Child 对象。这样,我们就可以在不知道 Child 类的情况下调用 Child 对象的 print() 方法。

封装、继承和多态是面向对象编程的三大法宝。它们是理解和使用面向对象编程语言的基础。