第1章 面向过程编程和面向对象编程-源自《MATLAB面向对象编程-从入门到设计模式》

1.1 什么是面向过程编程

  01.面向过程编程是一种以过程为核心的编程方法。解决问题的关键是,先把问题的过程按照步骤分解出来,然后用函数的形式把这些步骤加以实现,并且依次调用它们。

  02.做面条可分解为如下步骤:和面、拉面、煮面、烧汤等。面条-数据;做面条-处理数据(一系列函数)

  03.面向过程以“函数”为中心,函数操纵数据,通过数据在多个过程直接传递共享来完成过程的模拟,函数和数据是分开的。

1.2 什么是面向对象编程

  面向对象编程(OOP)把任务分解成一个个相互独立的对象,通过各对象之间的组合和通信来模拟实际问题。

  1.2.1 什么是对象

    01.对象指的是真实世界中的具体东西,比如一只狗、一辆汽车、一个点、一条线等即生活中一切有形或者无形,可以具体标识的事物。

    02.对象具备属性和行为(方法)两个特点。狗的名字-对象属性;狗叫-对象方法。

  1.2.2 什么是类

    01.类就是对各个具体、相似对象共性的抽象。

    02.类是一种抽象:把个体的共性抽象出来。即先有对象再有类,类是对象共性的一种总结。

    03.类是一种规范:个体根据规范被制造出来。即有了类之后,构建新的具体的对象。

    04.类提供了将数据(类的属性)和函数(类的方法)结合在一起的方式。

  1.2.3 什么是统一建模语言

    表示类和对象的图叫做UML(统一建模语言)类图,它是一种对程序的图形表达方式。

1.3 面向过程编程有哪些局限性

  当解决复杂问题时,面向过程编程不易修改和维护。

1.4 面向对象编程有哪些优点

  1.4.1 OOP把大问题分解成小对象

  1.4.2 OOP通过组合和信息传递完成任务

  1.4.3 OOP通过继承达到代码的复用

  1.4.4 OOP修改或者添加模块不会影响到其他模块