面向对象的基本原则

面向对象的基本原则有,抽象、分类、封装,消息通信,多态性,行为分析和复杂性控制。

一、抽象

 抽象是指从事物中舍弃个别的、非本质的特征,抽取共同的,本质特征的思维方式。

 

 

从几个方面理解抽象,

1,编程语言本身越来越抽象。

过程抽象,如,函数。

 

 

数据抽象,如,类,栈。

在类的范围内,使用过程抽象来形成操作。

数据抽象是指把数据类型和施加在其上的操作结合在一起,形成一种新的数据类型。

2,在面向对象方法中,对象是对现实事物的抽象,类是对对象的抽象,一般类是对特殊类的抽象。

3,不同开发阶段需要不同程度的抽象。

分析阶段,先定义属性和操作。实现相关的放到设计阶段。

和在现实生活中一样,我们在较高的抽象层次上分析和解决问题,然后在较低抽象层次上予以落实。

抽象的好处,一是便于访问(接口),二是便于维护(可以修改替换实现不影响用户使用)。

二、分类

相同属性和相同操作 的对象划分为一类。

可以用不同程度的抽象,可进一步分为分为一般类 / 特殊类。

三,封装

 两层含义,

1,把对象的属性和操作包装起来,形成一个独立的单元。

2,信息隐蔽。

在对象外部不能随意访问对象的内部数据和操作。只允许通过public操作来访问,降低了对象之间的耦合度。

只能通过消息来通信,保护内部数据安全。

四,消息通信

 封装原则促使 对象之间只能通过消息通信。一个对象可以是消息的发送者,也可以是消息的接收者,还可以作为消息中的参数。

五,多态性

 一般类和特殊类可以具有相同格式的属性和操作。

同一消息,不同对象对其响应,表现出不同行为。

六,行为分析

 基于静态模型进行行为分析。

状态机图分析对象的状态变迁情况。对于一个对象,由于其内部的属性值在不断发生着变化,按照一定的规则根据属性值可以把对象划分为不同的状态。在请求对象操作时,可能会使对象的状态发生变化,二对象的当前状态对随后的执行是有影响的。用状态机图跟踪变化。

交互图来描述对象之间的协作。对象之间通过发消息共同完成某项功能。

交互图描述对象之间的并发行为。很多系统有并发行为。从事物的并发行为起因上看,事物的每个并发行为是主动发生的。体现在对象上,就是一种对象是主动的,每个对象代表着一个进程或线程。在交互图上也能体现出对象之间的并发行为。

七,复杂性控制

 为了控制系统模型的复杂性,引入了包(package)的概念。

 用分析包和设计包来分别组织分析模型和设计模型,以显示地描述不同抽象层次的模型。

对复杂类图也可以按类之间关系的紧密程度来用包来组织类。

 

posted @   starof  阅读(1037)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示