c#—基础拾遗(1) 面向对象
白冰 2021-05-04 15:19:25

首先咱们复习一下什么是对象。

这里这个对象不是咱们c# 中的实例,在c# 中我们也可以把一个类也可以当成一个对象。但是在面向对象编程时这个对象应该是实现的对象,对象的定义是这个实现要做的事。从简单到复杂都可以看作一个对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

有人说一切皆对象,难道在编程时要面对一切编程, 那岂不是复杂了。

因此面向对象,这个对象,指的是客体。所谓客体是指客观存在的对象实体和主观抽象的概念。

为什么要面向对象编程?

面向对象是为了解决系统的可维护性,可扩展性,可重用性,我们再进一步思考,面向对象为什么能解决系统的可维护性,可扩展性,可重用性?

咱们可以从面向对象产生的历史来发现:

计算机的产生是来帮助人们解决问题的,但是机器毕竟是机器,需要人来设置下一步的指令来完成下一步的操作,最终得到我们想要的结果。所以不管程序多么复杂,计算机都能轻松应对。如此以往代码越来越看不懂维护越来越复杂。因此就叫做结构化编程诞生。

结构化编程的基本思想是:

  1. 有序地控制流程,即把程序的执行顺序限制为顺序、分支和循环这三种;
  2. 把共通的处理归结为例程(函数)。

结构化编程的好处是:

三大限制:大大降低了程序的自由度,减少了各种组合,使得程序不至于太过复杂。对于这一点,结构化编程的顺序、分支和循环可以实现一切算法,虽然降低了程序的复杂性和灵活性,但是程序的实现能力并没有降低。

例程(函数):我们只需要知道过程(函数)的名字,而不需要知道过程的内部细节,即“黑盒化”。

虽然结构化解决了程序控制流的复杂问题,但程序里面不仅包括控制结构,还包括要处理的数据。随着处理数据的增加,程序的复杂性也会上升。这时候,面向对象编程来了!

面向对象编程分为几个步骤?

面向对象是一种思想,他让我们在分析和解决问题时,把思维和重点转向现实中的客体中来,然后通过UML工具理清这些客体之间的联系,最后用面向对象的语言实现这种客体以及客体之间的联系。它分为面向对象的分析(OOA),面向对象的设计(OOD),面向对象的编程实现(OOP)三个大的步骤。

1、首先是分析需求,先不要思考怎么用程序实现它,先分析需求中稳定不变的客体都是些什么,这些客体之间的关系是什么。

2、把第一步分析出来的需求,通过进一步扩充模型,变成可实现的、符合成本的、模块化的、低耦合高内聚的模型。

3、使用面向对象的实现模型

面向过程到面向对象思维如何转变?

我们在拿到这个需求时不应该直接去想怎么去实现。应该去分析需求,找到需求中对应的客体,根据找到的这些客体来分析这些客体中的关系。因此我们拿到需求后先分析建模了解其中的关系,开发出可维护,可扩展,可重用,高质量的模块。这种思路的转变,可能需要个过程

面向对象三大特性:

【封装、继承、多态】

面向对象编程的优点?

A、可重用性:有利于开发速度 如果你想开发某个功能发现他实现起来很麻烦,这个时候有另一技术能很好地解决,其优势就发挥出来了

B、封装性/抽象性:结构清晰 很标准 规范化 易于理解 可读性更强

C、继承 :易扩展,在大框架不变的情况下很容易就开发出适合自己的功能

版权声明
本文为[白冰]所创,转载请带上原文链接,感谢
https://www.seoxiehui.cn/article-318397-1.html
相似文章