面向对象概述

面向对象基本概念

  1. 面向对象的定义
    • 对象:表示现实世界中的某个具体的事物或概念
    • 从软件角度,对象是有数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而继承性是对具有层析关系的类的属性和操作进行共享的一种方式
    • 以对象作为软件系统的构造颗粒
    • 对象和类区别
      • 对象:根据一个类创建的一个实例
      • 类:共享相同属性、操作、方法、关系或行为的一组对象的描述

        例:小明是对象,学生是类。

    • 面向对象定义:基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统
  2. 面向对象思想
    • “面向对象”技术追求的是软件系统对现实世界的直接模拟,尽量实现将现实世界中的事物直接映射到软件系统的解空间
    • 面向对象强调对象的表示
  3. 面向对象方法
    • 面向对象方法:一种把面向对象的思想应用于软件开发过程中,知道开发活动的系统方法,简称OO方法,是建立再“对象”概念基础上的方法学
    • 面向对象分析(OOA):强调的是在问题领域内发现和描述对象

      例:在航班信息系统里包含飞机Plane、航班、飞行员等概念

    • 面向对象设计(OOD):强调的是定义软件对象及它们如何协作以及实现需求

      例:软件对象Plane可以有tailNumber属性和getFlightHistory方法

  4. 优点
    • 提供符合客观现实的模型,OO设计更遵循思维的自然方式,便于用于从业务的角度
    • 代码的重用性、可维护性、可扩充性、稳定性好
  5. 缺点
    • 需要更关注需求、分析和设计
    • 开发人员必须和用户紧密合作
    • 需要完全改变每个人的思想
    • 要求先在培训、教育和工具上投资
    • 要求更多测试
  6. 进行面向对象的实施步骤
    • 定义用例
      • 用例:提炼人们如何使用系统的这些情节或场景,要求真实、有意义
      • 包括用例图和用例规约
    • 定义领域模型
      • 把客观现实的对象描述出来(不需要描述行为)
    • 定义交互图
      • 对象协作的动态视图
      • 关注对象的职责和协作
    • 定义设计类图
      • 类图:表示类定义的静态视图
      • 描述类的属性和方法+类之间的关系
      • 面向代码世界

    例:筛子游戏

    1. 定义用例
      用例图

      用例规约略
    2. 领域模型
    3. 交互图
    4. 设计类图

      分别写了两种,每个人具体写出来的多少有不同,思路对就行
  • 部分知识点的分析总结:
    1. 面向对象或许可以简单理解成把现实中的事物都抽象为对象,通过调用不同的对象的属性或者方法协作完成软件功能。不同于面向过程,将一个个步骤作为方法来实现功能。
    2. 如果将类单简单想成一个飞机的设计蓝图,那对象可以简单的想成是用设计蓝图做出来的战斗机或者客机。
    3. 可以用有没有继承和多态来判断面向对象与基于对象,有就是面向对象,没有则是基于对象
    4. 以对象作为软件系统的构造颗粒,就像砖块作为楼房的构造颗粒
posted @   吧拉吧拉吧  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示