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

面向对象技术

一、面向对象基本概念

1.面向对象基本概念

image.png
对象: 程序系统中基本运行的实体,包括数据和数据的操作。一个对象把属性和行为封装成一个整体,实现生产者与使用者的分离。一个对象通常可由对象名、属性和方法(操作)三部分组成。
类: 定义了一组大体上相似的对象。类是对象的抽象,对象是类的具体化,是类的实例。特殊类是一般类的子类,一般类是特殊类的父亲。
继承: 父类与子类之间共享数据和方法的机制。一个父类可以有多个子类,一个子类可以继承其父类中的属性和方法。

  • 单重继承: 从一个父类A得到继承
  • 多重继承: 一个子类有两个或更多父类

重置: 是一种动态绑定机制,使得子类在继承父类的前提下,用适合自己要求的实现取置换父类中响应实现。
消息: 对象之间的通信构造。
消息传递: 当一个消息发送给某个对象,包含要求接收对象去执行某些活动的消息。接收到消息的对象经过解释,然后给予响应。

在收到消息时,对象要给予响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象称为多态。不同对象对同一消息的不同响应。

  • 通用多态: 参数多态和包含多态
  • 特定多态: 过载多态和强制多态

通用多态对工作的类型不加限制,允许对不同类型的值执行相同的代码
特定多态只对有限数量的类型有效,而且对不同类型的值可能要执行不同的代码。
过载多态: 同一个名(操作符、函数名)在不同的上下文中有不同的类型。电信的例子是运算符重载和函数重载,属于静态多态。

2.面向对象的基本过程

image.png

面向对象分析(OOA):完成对所解问题的分析,确定待开发软件系统要做什么,建立系统模块。包括认定组织对象,描述对象间的相互作用,定义对象的操作和内部信息。
面向对象设计(OOD):将OOA所创建的分析模型转化为设计模型,其目标是定义系统构造蓝图。
面向对象编程(OOP):是采用程序设计语言,将设计模型转化为特定环境中的系统,即实现系统。
面向对象测试(OOT):对面向对象系统进行测试,查出系统错误。主要包括算法层、类层、模板层、系统层。

二、UML

UML语言: 统一建模语言是面向对象软件的标准化建模语言。
三要素: 基本构造块、放置规则和语言公共机制。
UML构造块: 事物,关系和图。

  • 事物: 是对模型中最具有代表性的成分的抽象

image.png

  • 关系: 用来把事物结合在一起,包括依赖、关联、泛化和实现关系

image.png

  • 图: 聚集了相关的事物

image.png

三、设计模式

image.png
image.png
image.png
image.png

相关文章:

  • 软考76-上午题-【面向对象技术3-设计模式】-创建型设计模式01
  • ​【已解决】npm install​卡主不动的情况
  • Fair Data Exchange:区块链实现的原子式公平数据交换
  • HTML万字学习总结
  • 【Web开发】CSS教学(超详细,满满的干货)
  • HTML本地离线缓存?
  • 中国城市统计年鉴、中国县域统计年鉴、中国财政统计年鉴、中国税务统计年鉴、中国科技统计年鉴、中国卫生统计年鉴​
  • 【首次抽奖】16G、32G免费送!云服务器选购推荐 京东云 阿里云 腾讯云对比 幻兽帕鲁 雾锁王国 省钱学生党
  • 读书笔记--数据建模与设计的总结感悟
  • OpenvSwitch VXLAN 隧道实验
  • 指挥航空公司架次与延误率占比
  • 手机网络连接性能API接口:查询手机网络连接性能状态
  • android 简单快速 自定义dialog(简单好用,不需要设置样式)
  • 在idea中配置tomcat服务器,然后部署一个项日
  • 【力扣二刷思路】DAY3
  • @angular/forms 源码解析之双向绑定
  • 【347天】每日项目总结系列085(2018.01.18)
  • 【402天】跃迁之路——程序员高效学习方法论探索系列(实验阶段159-2018.03.14)...
  • Android 控件背景颜色处理
  • android图片蒙层
  • create-react-app项目添加less配置
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Java到底能干嘛?
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • MySQL几个简单SQL的优化
  • PaddlePaddle-GitHub的正确打开姿势
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • 给初学者:JavaScript 中数组操作注意点
  • 构造函数(constructor)与原型链(prototype)关系
  • ------- 计算机网络基础
  • 精益 React 学习指南 (Lean React)- 1.5 React 与 DOM
  • 如何实现 font-size 的响应式
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 数组的操作
  • 小试R空间处理新库sf
  • 新书推荐|Windows黑客编程技术详解
  • 终端用户监控:真实用户监控还是模拟监控?
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • python最赚钱的4个方向,你最心动的是哪个?
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (09)Hive——CTE 公共表达式
  • (1)STL算法之遍历容器
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
  • (六)Hibernate的二级缓存
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)jQuery 基础
  • .desktop 桌面快捷_Linux桌面环境那么多,这几款优秀的任你选
  • .net core 6 集成和使用 mongodb
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)