系列文章目录
面向过程、函数式、面向对象编程都是一些编程的思想或者说是编程范式,就是在编写代码过程中使用的一些模式。
一、面向过程编程(POP)
- 面向过程编程:
- 使用各种语句或函数,将问题的解决步骤一步一步的实现出来;
- 执行时,按照顺序一步步地执行。
- 优点:实现简单,按照流程一步步来就行。
- 缺点:扩展性差,想要加点功能,可能需要改动整个程序。
二、函数式编程(FP)
- 函数式编程:
- 只使用函数进行编程;
- 函数可以当另一个函数的参数、也可以当返回值;
- python不是一门函数式编程语言,属于函数式编程语言的有Lisp、Haskell、Erlang等;
- 但python仍然提供了一些函数式编程的特性,如匿名函数lambda、高阶函数map等;
- 优点:代码逻辑严谨、精简。
- 缺点:可读性差。
三、面向对象编程(OOP)(重点)
-
面向对象编程:
-
将一些事物抽象划归为一类,称其为类;
比如学生群体,可以抽象为“学生类”,各种树木,抽象为“树木类”;
-
一个类所代表的事物中,拿出一个实实在在的实体,称其为对象;
比如一个真实存在的学生,可以称其为“学生类”的一个实例对象;
-
这些对象所共同拥有的特性或属性,称其为属性;
比如学生的姓名、年龄、性别等,都可以称为类的属性;
-
这些对象所共同拥有的功能,称其为方法;
比如学生可以考试、学习、写作业,这些都可以称为类的方法。
-
一个类由方法和属性构成,类是一个抽象概念,而类对应的实体,称为该类的对象。
一个类的所有对象都拥有该类的属性和方法。
-
-
优点:代码重用性高、易扩展、易维护。
-
缺点:需要一定的软件支持(c语言就不支持)、有一定的学习成本。