当前位置: 首页 > news >正文

面向对象——面向对象基础

一、核心概念

1. 对象

  • 本质:对象 =属性(数据) + 方法(行为),是两者封装成的独立整体

  • 组成:对象名、属性、方法三部分。

  • 核心思想:以对象为中心,而非以步骤为中心(区别于面向过程)。

2. 消息

  • 定义:对象间通信的载体。

  • 机制:发送消息 → 对象解释 → 执行操作 → 消息传递。

3. 类

  • 定义:对一组具有共同特征的对象的抽象描述,刻画这组对象的共同属性与行为。

  • 核心关系:类是对象的抽象,对象是类的实例(一个类可创建多个不同实例对象)。

  • 类的分类:

4. 继承

  • 定义:基于已有的类(父类 / 基类)创建新类(子类 / 派生类),复用父类的属性与方法

  • 特点:子类可直接继承父类的内容,也可扩展定义自身的属性与方法,实现功能复用与扩展

5. 多态

  • 定义:同一消息(方法)发送给不同对象时,对象会产生不同的响应结果。

  • 实现方式:

  • 多态的形式:

6. 绑定

  • 定义:将 “过程调用” 与 “执行代码” 关联的过程。

  • 分类:

二、面向对象分析(OOA)

  • 核心目标:将数据与功能结合为综合对象,梳理系统中对象的行为与交互关系。

  • 核心活动(固定顺序):

    • 认定对象:从业务场景中提取核心 “名词” 作为对象,明确研究实体。

    • 组织对象:分析对象间的关联关系,将共性对象抽象为类,简化关联模型。

    • 描述对象间的相互作用:梳理对象间的依赖、包含等关系(如对象的组成关系)。

    • 确定对象的操作:定义对象可执行的行为方法

    • 定义对象的内部信息:明确对象的属性与状态

  • 举例:在线书店系统

    用户可以在线浏览图书、将图书加入购物车、下单购买。

三、面向对象设计(OOD)

  • 核心目标:将 OOA 的分析模型转化为可实现的设计模型,定义系统的实现蓝图。

  • 核心活动(固定顺序): 识别类及对象 → 定义属性 → 定义服务(方法) → 识别关系 → 识别包

  • 举例:在线书店系统

  • 面向对象设计的核心原则

四、总结

http://www.jsqmd.com/news/794013/

相关文章:

  • Docker镜像逆向分析:dfimage工具原理、实战与CI/CD应用
  • 从美光收购尔必达看DRAM产业格局:技术、市场与整合逻辑
  • 抖音下载器终极指南:3种场景下的高效内容获取方案
  • AI智能体规则引擎:从提示词约束到运行时控制的架构实践
  • openclaw官网入口中文版_一键1分钟免费使用小龙虾AI!
  • 手把手教你学Simulink——基于Simulink的储能PCS(功率转换系统)离网V/f控制仿真示例
  • 以太网技术演进:从局域网到万物互联的生态系统
  • SDN与IoT融合:构建云边端一体的智能网络神经系统
  • 【AI大模型春招面试题31】什么是“零样本学习(Zero-Shot)”“少样本学习(Few-Shot)”?大模型实现这类能力的核心原因?
  • 芯片验证覆盖率:从度量陷阱到有效策略的实战解析
  • 别再只盯着信号强度了!深入浅出解读LoRa天线S11、驻波比与回波损耗
  • 从硬件抽象到软件接口标准化:破解芯片设计中的驱动开发困局
  • EDA平台化架构:电子系统设计的未来趋势
  • 手把手教你学Simulink——【进阶版】单相并网逆变器比例谐振(PR)控制与谐波补偿仿真示例
  • java内存模型(JMM)
  • 嵌入式开发:从汇编到C语言的高效迁移与优化
  • AI+运维提效,ssl-cert-monitoring(SSL证书监控系统)2.0修复bug及新增功能说明
  • 软件设计原则之OCP开闭原则
  • 2026廊坊硅酸铝柔性包裹,防火专业厂家这样选
  • ARM虚拟化关键寄存器HIFAR与HMAIR详解
  • 终极指南:如何用Vue-Fabric-Editor解决轻量级图片编辑需求
  • 从EE Times标题竞赛看工程师文化:技术幽默如何驱动社区活力
  • 基于CMSIS和USB的嵌入式数据记录器开发指南
  • 高校普法系统|基于SSM高校普法系统(源码+数据库+文档)
  • 在Node.js后端服务中集成多模型API以提升应用灵活性
  • 学Simulink——基于储能系统参与电网一次调频的下垂控制仿真示例
  • TTS推理优化:低精度计算与硬件协同设计实践
  • 从零开始,在 Simulink 中搭建主电路,设计 SPWM 信号发生器,并观察滤波前后的波形变化
  • mp = collections.defaultdict(nums)mp = dict()有啥区别
  • ARM TLB维护指令TLBIP RVAE2详解与优化实践