Skip to content
难度基础(★)
建议时长45分钟

10.1.5 面向对象基本概念汇总

面向对象基础概念的复习,重点不是背一堆孤立定义,而是把对象、类、封装、继承、覆盖、多态、动态绑定放到一条链路里理解。

概念链路

mermaid
flowchart LR
  R["现实世界"] --> O["对象<br/>ID + 属性 + 行为"]
  O --> C["类<br/>共同属性和行为的模板"]
  C --> I["实例化<br/>类创建对象"]
  C --> P["封装<br/>隐藏细节,暴露接口"]
  C --> G["继承/泛化<br/>一般与特殊"]
  G --> OW["重写/覆盖<br/>子类替换父类实现"]
  OW --> POLY["多态<br/>同一消息不同响应"]
  POLY --> DB["动态绑定<br/>运行时决定实现"]

这条链路能覆盖大多数概念题。

核心概念速查

概念一句话常考关键词
对象具有标识、属性和行为的具体实体对象 ID、状态、操作
对相似对象的抽象模板共同属性、共同方法
实例化由类创建对象new、创建实例
属性对象静态特征数据成员、状态
方法对象动态行为成员函数、操作
封装隐藏内部数据和实现,只暴露接口信息隐藏、访问控制
继承子类复用父类属性和方法父类、子类、复用
泛化从特殊类抽象出一般类一般化、父类
特化从一般类派生特殊类子类、派生类
重写/覆盖子类替换父类方法实现父子类、同名同参数
重载同类中同名不同参数参数列表不同
多态同一消息作用于不同对象产生不同响应同一接口、多种实现
动态绑定运行时确定调用哪个实现运行时、实际对象类型

容易混淆的边界

易混概念区分
类 vs 对象类是模板,对象是具体个体
属性 vs 状态状态是一组属性具体取值形成的当前情况
消息 vs 方法消息是对象间通信/请求,方法是对象内部可执行操作
封装 vs 继承封装隐藏内部细节,继承复用父类特征
重写 vs 重载重写在父子类之间,重载在同一类中看参数列表
多态 vs 动态绑定多态是现象,动态绑定是运行时实现机制

访问控制速查

访问修饰典型含义
private只允许本类内部访问
默认/包访问同一包内可访问
protected本类、子类或同包可访问,具体依语言而定
public对外公开,可被其他对象访问

访问控制服务于封装。不要把所有成员都设成公开,否则外部代码会直接依赖内部实现。

考试判断口诀

题干问法快速判断
父类和子类共享数据和方法的机制继承
子类用自己的实现替换父类实现覆盖/重写
把属性和行为隐藏起来,通过接口访问封装
不同对象接收相同消息结果不同多态
运行时决定调用哪个方法动态绑定
同一类多个同名方法,参数不同重载
对象组成部分不包括什么通常不包括消息

例题

单选
把数据和操作组织在对象内部,并通过接口控制访问,体现:
单选
父类和子类之间共享属性和方法的机制是:

本节小结

面向对象三大特征是封装、继承、多态。对象由标识、属性和行为组成;类是对象的模板;继承带来复用和扩展;重写让子类替换父类实现;多态让同一消息产生不同响应;动态绑定在运行时选择实际方法。