目录
一、面向对象
1.1 面向过程&面向对象
目前主流的编程范式分为面向过程和面向对象:
面向过程就是先分析出解决问题的步骤,再把步骤拆成一个个方法,是没有对象去调用的,通过一个个方法的执行解决问题(亲力亲为)
面向过程的代表语言:
C语言:C语言是一种典型的面向过程编程语言,它提供了丰富的过程式编程特性,如函数、变量和流程控制语句
汇编语言:汇编语言是与计算机硬件紧密相关的低级编程语言,它主要面向过程,程序员需要手动管理内存和寄存器等资源
面向对象就是将编程当成是一个事物(对象),对外界来说,事物是直接使用的,不用去管内部的情况,而编程就是设置事物能做什么事情(偷懒,找别人/工具替我做)
面向对象的代表语言:
Java:Java是一种广泛使用的面向对象编程语言,它将所有的代码组织成类和对象,支持封装、继承和多态等面向对象的概念
C++:C++是一种混合了面向对象编程和过程式编程的语言。它扩展了C语言,引入了类和对象的概念,同时保留了C语言的功能
Python:Python是一种多范式的编程语言,但它也支持面向对象编程,允许程序员定义类、创建对象,并通过对象间的消息传递来实现功能
Ruby:Ruby是一种面向对象的动态脚本语言,它强调简洁和灵活的语法,并采用了纯粹的面向对象模型
选择哪种编程范式取决于具体的问题和项目的需求
对于小型、简单的任务,面向过程可能更加直观和高效。然而,对于大型、复杂的项目,面向对象提供了更好的可维护性、可扩展性和代码复用性,因此通常是更好的选择。
1.2 举例子解释两种范式区别
用洗衣服这个例子来形象地解释面向对象和面向过程两种不同的编程范式:
面向过程(洗衣服用手洗):
想象一下,你决定用手洗衣服。面向过程的方式就像是你按照一系列步骤来完成这个任务:
准备阶段:你收集所有要洗的衣服,找到洗衣盆、洗衣粉和清水
浸泡阶段:你将衣服放入洗衣盆中,加入适量的水和洗衣粉,让衣服浸泡一段时间
搓洗阶段:你开始用手搓洗衣服,重点搓洗污渍较重的地方
冲洗阶段:你倒掉脏水,用清水冲洗衣服,直到没有洗衣粉泡沫为止
拧干阶段:你用手拧干衣服,或者找一块干净的布吸走多余的水分
晾干阶段:你将衣服挂在晾衣绳上,等待它们自然晾干
在这个过程中,你(程序员)是主体,你亲自执行每一步操作(函数调用)。这些步骤是线性的,一步一步来,没有太多的复用性和扩展性。如果下次你要洗更多的衣服或者换一种洗衣粉,你可能需要调整整个流程
面向对象(洗衣服用洗衣机洗):
现在,想象一下你有一台洗衣机。面向对象的方式就像是你使用洗衣机这个“对象”来完成洗衣服的任务:
准备阶段:你收集所有要洗的衣服,找到洗衣机和洗衣粉