面向对象技术

什么是面向对象技术

面向对象技术(Object-Oriented Technology)是一种程序设计方法,是对现实世界中问题的抽象表示方式,更直观自然地描述客观世界。

现实世界 面向对象技术
由事物组成 用对象描述事物
事物之间有共性,可以归纳 类是具有相同共性的抽象描述
事物具有静态特性和动态特性 属性和方法
事物存在联系,需要交流 消息,方法
事物是一个独立的实体 封装性
事物存在继承关系 继承性
简单组成复杂 聚合关系
不同事物收到同样消息,产生的行为不同 多态性

涉及的基本概念

对象,描述一个具体的事物,对象的表示方式有以下几种:
这里写图片描述 这里写图片描述 这里写图片描述
它具有以下要素:

  • 状态,也叫作属性,比如,名字是一个对象的属性,而对应的Tom是状态值
  • 行为,反映了一个对象将如何响应其他对象,也就是方法
  • 标识

,是对一组具有相同属性,行为,关系和语义的对象的描述。它可以表示成:
这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述
和对象的关系:
类是对象的抽象定义(一个对象是一个类的实例)。

  • 类定义了属性和方法
  • 提供了一个创建对象的模板

属性,描述一个类的静态信息,对类进行实例化就是赋予类不同的属性值。

操作,通过操作读取修改类的属性值,通过操作将类的属性隐藏起来,这样就实现了封装性。

接口,接口就是对操作规范的说明。接口只是说明操作应该做什么,但没有定义操作如何做。接口可以理解成为类的一个特例,它只规定实现此接口的类的操作方法,而把真正的实现细节交由实现该接口的类去完成。

组件,组件是软件系统可替换的、物理的组成部分,它封装了实现体(实现某个职能).并提供了一组接口的实现方法。可以认为组件是一个封装的代码模块或大粒度的运行对的模块,也可将组件理解为具有一定功能、能够独立工作或同其他组件组合起来协词工作的对象。它可以是:

  • 源程序
  • 运行时动态库
  • 可执行程序

,可直接理解为命名空间,文件夹,是用来组织图形的封装,包图可以用来表述功能组命名空间的组织层次。

子系统,一种模型元素,它具有包(其中可包含其他模型元素)和类(其具有行为)的语义。子系统的行为由它所包含的类或其他子系统提供。子系统实现一个或多个接口,这些接口定义子系统可以执行的行为。

关系,有以下几种:
- 关联

 - 聚合
 - 组合

- 依赖
- 泛化
- 实现

基本原则

  • 抽象,举个例子,客观世界中的事物抽象出来名词
  • 封装,对客户隐藏方法的实现过程
  • 模块性,把系统根据功能把它分成不同的模块或子系统
  • 层次性,类和对象之间的依赖关系,每一层的抽象程度不同。
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/LT_Future/article/details/80300377