面向对象编程

Object-Oriented Programming

对象=算法+数据结构
程序=(对象+对象+...)+消息

面向对象编程(OOP)是 20 世纪 90 年代开始流行的编程范式。最早的编程语言(如 C)并不具备“对象”这一概念,但随着软件需求的复杂化,人们发现“对象”是一个符合人类直觉、易于理解的建模方式。

通过“对象”,程序可以更自然地模拟现实世界的事物和行为。如今,大多数现代编程语言(如 Java、Python、C++、C#)都支持面向对象编程。OOP 已成为计算机科学的基础概念,其思想和原理适用于绝大多数语言和场景。

  1. 设计所需的各种类和对象,将数据与操作封装在一起
  2. 考虑如何向有关对象发送信息,调用函数实现功能

一、基本概念

对象 Object

构成系统的基本单位,由一组属性和一组行为构成

类 Class

对象的类型,代表一批对象的共性和特征

消息 Message

在面向对象编程中,“消息”是对对象的请求,是函数/方法调用的抽象描述

二、基本思想

封装 Encapsulation

将数据与操作数据的代码绑定在一起,对外隐藏实现细节
通过公开的接口(方法)访问对象数据,提高安全性、降低复杂性、增强模块化

继承 Inheritance

子类可以继承父类的属性和方法,避免重复定义
支持代码复用与扩展

多态 Polymorphism

同一个方法名/接口,在不同对象上表现出不同的行为
运行时根据对象的实际类型决定调用哪个方法

允许用父类类型的引用指向子类对象,提高程序的灵活性和可扩展性

重载 Overloading

在同一个类中,允许同名方法有不同的参数列表(参数个数、类型不同)。编译时根据调用时的参数决定调用哪个版本的方法