广州番禺Python, Java小班周末班培训
第四期线下Java, Python小班周末班已经开课了,培训的课程有Python爬虫,Python后端开发,Python办公自动化,Python大数据分析, Java中高级工程师培训。授课详情请点击:http://chipscoco.com/?cate=6
7.1.1 理解面向过程
在讲解面向过程的基础概念之前,薯条老师先给同学们出一道非常简单的数学题:求解算术表达式1+2*3-4*5的值。该怎么求解这个算术表达式?
很简单,因为乘法的优先级高于加减法,所以我们先计算表达式2*3以及4*5的值,这是第一步。2*3的结果为6,4*5的结果为20,完成第一步以后,表达式变为:
1+6-20
加法与减法的优先级是相同的,那么无论先计算加法还是减法,最终得到的都是相同的结果。我们现在按从左到右的顺序来计算表达式的值,先计算1+6,这是第二步。1+6的结果为7,完成第二步以后,表达式变为:
7-20
在最后一步中,我们计算表达式7-20的值,最终的结果为:
-13
在解题过程中,我们将表达式1+2*3-4*5分解为了以下三个步骤:
(1) 计算表达式2*3以及4*5的值
(2) 计算表达式1+6的值
(3) 计算表达式7-20的值
以上求解过程,即是一个典型的面向过程的解题思路,面向过程是把一个问题分解为若干个步骤,然后一步步地进行求解。
7.1.2 面向过程的程序设计
编程语言中的面向过程是一种以过程为中心的程序设计方法,其核心在于将问题的求解分解为多个步骤,然后依次实现。与面向过程相对的是面向对象,面向过程侧重于找出问题的解决过程、步骤,而面向对象将问题本身视为一个整体。关于面向对象的基础概念,将会在下节教程中进行详细讲解。
7.1.3 面向过程的优点与不足
继续以7.1.1节中的算术表达式为例,在面向过程的方法中,会将该表达式的解题过程分解为若干步骤,每个步骤对应一个模块,这里的模块通常表现为函数的形式。例如求解算数表达式1+2*3-4*5,可以分解为以下三个模块:
(1)加法计算的模块
(2)减法计算的模块
(3)乘法计算的模块
这样在按步骤进行求解时,只需把参数传递给相应的模块就行了。从问题的求解过程来进行分析,不难得出面向过程方法的一些优点:
(1) 以步骤的形式来分析问题,符合人的思考方式,无需考虑复杂的抽象概念
(2) 将问题求解分解为若干步骤,程序的流程清晰,易于实现
(3) 软件的规模不是很大时,以面向过程的方式来进行项目开发,会更加高效
另外,在程序性能方面,面向过程也会有较大的优势,相比于面向对象设计,面向过程没有对象的实例化过程以及可能存在的过度封装问题。面向过程设计方法较大的不足在于程序的复用性和可扩展性。面向过程是将问题的解决过程分解为多个步骤来进行设计的,一旦业务逻辑发生改变,那么与之相关的步骤也需要重新设计,业务与过程紧密耦合。尤其当软件的规模到达一定程度时,这样的问题会更加突出,面向对象设计很好地解决了这类问题。
7.1.4 课后习题
(1) 简述你对面向过程的理解
(2) 举一个生活当中的面向过程的例子。
7.1.5 高薪就业班
(1) Python后端工程师高薪就业班,月薪10K-15K,免费领取课程大纲
(2) Python爬虫工程师高薪就业班,年薪十五万,免费领取课程大纲
(3) Java后端开发工程师高薪就业班,月薪10K-20K, 免费领取课程大纲
(4) Python大数据工程师就业班,月薪12K-25K,免费领取课程大纲
扫码免费领取学习资料: