美文网首页
面向对象编程:起因,概念,基本属性(面向对象分析与设计)

面向对象编程:起因,概念,基本属性(面向对象分析与设计)

作者: 飞猪的浪漫 | 来源:发表于2023-01-17 17:15 被阅读0次

面向对象编程:

复杂:与实体世界的交互很多,涉及的生命周期很长,项目周期很长。

帮助特定领域的创建:系统用户和系统开发的沟通困难,用户需求在不断变化。不得不做出一定的改变。

1.规模巨大,几千几百的模块分类;维持设计的一致和完整性,面临挑战在团队管理上。

3 灵活性很大,4. 线程多,设计阶段是连续函数,运行的时候。是离散系统,不是连续系统;所有外部事情会影响内部事件。

无法对大型离散系统的完整行为做出建模。

复杂系统的特征:1. 有一定层次结构;2. 复杂系统的结构是所有组件以及组件间的层次结构的函数;观察者不同。

3. 分离关注:组件内部联系毕组件内的联系更强 4. 共同模式:由少数不同类型子系统,按照不同组合和安排方式来的。

5,找到基础对象,在对象基础上建立更复杂的系统。找到简单工作的系统里本质。

复杂系统规范:

分解:

1. is part of 一部分 2. is a 一个类型,而1个特殊类型;

类结构:是一种;对象结构:组成结构。is a part of

1.掌握 类结构和对象结构。

1.分解:算法,自顶而上的结构化设计(金字塔的形状)2. 面对对象的分解(每个对象都要独立的行为,是某一个模型)

1. 先从算法开始,然后是从对象开始。利用得到的结构表达其他的看法。

面向对象:表达经济性,复用共同的机制;设计基于稳定的中间态。降低复杂软件系统的风险,因为从较小的系统开始增量的演进。

抽象:忽略非本质的细节,转而处理这个对象的一般化,理想化的模型。

层次结构:对象结构,展示不同对象之间,如何通过一些交互模式进行协作;类结构:强调系统中的公共结构行为。

同类对象的所有其他实例具有相应的行为;对象分成相关抽象的组,不同对象的共同属性和特有属性。

面向对象编程:

1. 利用对象作为面向对象编程的基本逻辑构建块,is a 一个类型;2.每个对象都是某个类的一个实例;3.类与类之间,可以通过继承关系联系在一起。

满足3个条件就是OOP。

1. OOD是一种设计方法,展现被设计系统的逻辑模型额物理模型,静态模型和动态模型。

面向对象:利用类和对象,抽象构建逻辑系统结构;结构化设计利用算法抽象。

编程语言:1.面向过程(算法)2. 面向对象(类和对象)3 面向逻辑(谓词演变)4 规则(如果) 5.约束(不变的规则)

抽象的意义:

1, 对一个系统的一种简单的描述,强调系统中的某些细节或属性。

2. 描述一个对象的基本特征,与其他类型的对象区分开。提供清晰定义的概念边界,与观察者的视角有关。

1.对象接口只提供行为,2. 对象捕捉某个对象的全部行为。

对于给定的问题域,决定一组正确的抽象,就是面向对象设计的核心问题。

分离对象的基本行为和她的实现。

1,有动态和静态属性的区别;改变的动作和对象的动态值是程序的中心部分。

实体抽象,动作抽象,虚拟机抽象,偶然抽象。

对象的操作:前置条件,后置条件。违反一个不变量,将破坏一个抽象相关的契约。

我们:有意义的执行一个对象上的哪些操作,以及对象该如何反应。

封装:

1.对象的抽象,优于它的实现过程。

抽象关注对象可以观察到的行为,而封装关注行为的实现。

封装通常是通过信息隐藏来实现的。信息隐藏是不涉及对象本质特征的秘密影藏起来。

类:一个接口(外部视图,所有实例共同行为的抽象)和1个实现(抽象表现和实现期望的行为的机制);

1,封装,分隔构成抽象的结构和行为的元素;封装的作用是分离抽象的概念接口以及实现。

在一个抽象层次隐藏起来的东西,在另外一个抽象层次里可能代表了外部视图。

影藏是为了防止事故。在一个抽象层次上的对象看不到较低抽象层次的实现细节。

模块化:

1.模块化讲程序划分成不同的模块;独立编译。

在一个模块里,声明对象和类。

分解为模块的总体目标是通过允许模块独立地设计和修改,从而减少软件的成本;

在不知道其他模块的实现方法,不会影响的行为的情况下,修改某个模块的实现。

1. 减少编译的成本。重新链接应用。重新编译模块接口,模块实现和其他依赖该接口的模块。

2. 模块接口尽可能小,满足其他用到它模块的需求。

尽可能东西放到模块的实现,而不是重写大量无关的接口代码。

1. 封装抽象的愿望,其他模块看到某些抽象的需要。

1. 每个模块的数据结构,只能模块内的程序调用,而不能模块外的程序调用。

调用数据,通过调用模块的程序获得。

创立 高内聚(逻辑上相关抽象在一起)低愈合(减少模块间的抵赖)

1. 方便跨应用复用,对模块打包;根据模块分配工作,总设计师负责模块的接口。其他人负责实现。

文档开发:以模块为单位,影响模块的开发。将需要保密的代码,放在独立的模块里。

模块的同一接口,也方便给不同用户。

层次结构:

1.单继承:类与类的关系。

一个自类从多个超类集成,甚至扩展或者重新定义超类的结构和行为。

相关文章

  • Swift--协议

    协议概念 协议定义和遵从 协议方法 协议属性 面向协议编程 协议概念 几何图形这种类在面向对象分析与设计方法学中称...

  • 软件设计

    知识点分数说明比例面向对象12面向对象基本概念、面向对象分析与设计、UML、设计模式16.00%软件工程基础知识1...

  • 面向对象基础

    一、面向对象概述 1、面向对象编程包括: OOA:面向对象分析OOD:面向对象的设计OOP:面向对象的编程实现 2...

  • 面向对象编程:起因,概念,基本属性

    面向对象编程: 复杂:与实体世界的交互很多,涉及的生命周期很长,项目周期很长。 帮助特定领域的创建:系统用户和系统...

  • OOP面向对象编程的六大原则(上)

    名词解释: OOA:面向对象分析 A:Analyze OOD:面向对象设计D:Design OOP:面向对象编程P...

  • Java面向对象

    OO: 面向对象OOA:面向对象分析OOD:面向对象设计OOP:面向对象编程1.什么是类?什么是对象1)现实世...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • 面向对象设计—类和对象

    原文链接:面向对象设计—类和对象 1. 面向对象程序设计的基本概念 Java是一种面向对象的编程语言。面向对象编程...

  • 设计模式之美-BJ002面向对象、设计原则、设计模式、编程规范、

    1.面向对象 面向对象的四大特性:封装、抽象、继承、多态面向对象编程与面向过程编程的区别和联系面向对象分析、面向对...

网友评论

      本文标题:面向对象编程:起因,概念,基本属性(面向对象分析与设计)

      本文链接:https://www.haomeiwen.com/subject/dntxhdtx.html