面向对象编程 (Object-Oriented Programming, OOP) 是一种基于“对象”概念的编程范式,将数据(属性)与操作数据的函数(方法)封装在一起,作为程序的基本单元。

  • 类 (Class):对象的蓝图或模板(如“狗”这个物种)。
  • 对象 (Object):类的具体实例(如“你家那只叫旺财的狗”)。

核心直觉

OOP 的本质是模拟现实世界。它不再关注“第一步做什么,第二步做什么”(面向过程),而是思考“系统中有哪些角色(对象),它们各自有什么能力,它们之间如何交互”。

核心特性

  • 封装 (Encapsulation):隐藏内部实现细节,仅通过公共接口暴露功能,确保数据安全。
  • 继承 (Inheritance):允许子类复用父类的代码,建立“属于 (is-a)”的层级关系。
  • 多态 (Polymorphism):同一接口在不同对象下有不同的表现形式(如:所有动物都能“叫”,但猫是喵,狗是汪)。
  • 抽象 (Abstraction):提取事物的核心特征,忽略不相关的细节。

优缺点

  • 优点:易维护、易复用、易扩展,适合大型复杂系统。
  • 缺点:性能开销略大,设计复杂度高。

参考