面向对象编程(OOP)的三大特征分别是:封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。
封装(Encapsulation):
封装是面向对象编程的核心思想之一。它指的是将对象的属性和方法(或称为行为)结合在一起,形成一个独立的单元,并尽可能隐藏对象的内部细节(即将数据隐藏起来),只对外公开接口(即对象的方法)。这样做的目的是为了增强程序的安全性和灵活性,使得类的使用者只能通过对象提供的方法来访问数据,而不能直接访问数据本身。封装还包括了属性的私有化(private)和通过公共的getter和setter方法来访问这些私有属性的实践。
继承(Inheritance):
继承是面向对象编程中实现代码复用的一种机制。它允许我们定义一个类(称为父类或基类)来包含一些基本的属性和方法,然后创建另一个类(称为子类或派生类)来继承父类的属性和方法。子类可以拥有父类的所有属性和方法(除非它们被声明为private),同时子类还可以添加新的属性和方法或覆盖(Override)继承来的方法。继承提高了代码的复用性和可维护性,使得我们能够在不修改现有代码的情况下,通过扩展或修改类的行为来适应新的需求。
多态(Polymorphism):
多态是面向对象编程的另一个重要特征。它指的是允许不同类的对象对同一消息作出响应,即同一个接口,使用不同的实例而执行不同操作。多态性包括编译时多态性和运行时多态性。编译时多态性主要通过方法重载(Overloading)实现,即同一个类中有多个同名方法,但它们的参数列表不同。运行时多态性则主要通过方法覆盖(Override)和接口实现来实现,即子类可以覆盖父类的方法,并且可以通过父类的引用来调用子类覆盖后的方法。多态性增强了程序的灵活性和可扩展性,使得程序更加动态和易于维护。