面向对象编程英文是Object Oriented Programming,简写就是OOP。这篇文章主要介绍一下面向对象的基本概念,我们先来了解下什么是面向对象。
面向对象基本概念:
我们之前学习的编程方式就是面向过程的,面向过程和面向对象是两种不同的编程方式。对比面向过程的特点,可以更好地了解什么是面向对象。
1.1过程和函数(科普知识):
过程是早期的一个编程概念,过程类似于函数,只能执行,但是没有返回值;函数不仅能执行,还可以返回结果。
1.2面向过程和面向对象的基本概念:
1)面向过程 ---- 怎么做?
- 1. 把完成某一个需求的所有步骤从头到尾逐步实现
- 2. 根据开发需求,将某些功能独立的代码封装成一个又一个函数
- 3. 最后完成的代码就是顺序的调用不同的函数
特点:
- 1. 注重步骤和过程,不注重职责分工
- 2. 如果需求复杂,代码会变得很复杂(函数被反复调用或彼此之间调用,眼花缭乱代码复杂冗长)
- 3. 开发复杂项目,没有固定的套路,开发难度很大
2)面向对象 ---- 谁来做?(其中的谁就是面向对象中的对象)
相比较函数,面向对象是更大的封装,根据职责在一个对象中封装多个方法。
- 1. 在完成一个需求之前,首先确定职责 -----要做的事情(方法)
- 2. 根据职责确定不同的对象,在对象内部封装不同的方法(多个)
- 3. 最后完成的代码,就是顺序地让 不同的对象调用不同的方法
特点:
- 1. 注重对象和职责,不同的对象承担不同的职责
- 2. 更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路
- 3. 需要在面向过程基础上,再学习一些面向对象的语法
植物大战僵尸这个游戏想必大多数人都玩过,没有玩过也可能听过,这个游戏就是每个对象负责不同的方法,比如向日葵有自己的方法,有一定生命值不是被僵尸咬一口就立即死翘翘了,也能产阳关和没事在那摇摇晃晃。同样每一个植物或者僵尸都和向日葵差不多,都有属于自己的职责(方法)。面向对象的对象内部方法不像面向过程遇到大型项目方之间会彼此调用,让项目代码变得复杂冗长。面向对象之间的方法极少会被调用,这也就是说面向对象更加适合应对复杂的需求变化,是专门应对复杂项目开发,提供的固定套路。
更多关于python方面的知识和视频教程可以去 python自学网 http://www.wakey.com.cn/