什么叫面向对象编程(面向对象编程代码)

读者一定听说过Python中“一切都是对象”的说法 , 但可能不知道它的具体含义 。他们只是在学习的时候听说Python是面向对象的编程语言 。本节将向您详细介绍Python面向对象的含义 。
面向对象程序设计是在面向过程程序设计的基础上发展起来的 , 比面向过程程序设计更灵活 , 可扩展性更强 。面向对象编程是程序员发展的分水岭 , 很多初学者会因为看不懂面向对象而放弃学习编程 。
面向对象编程(OOP)是一种封装代码的方法 。其实在前面几章的学习中 , 我们已经接触到了封装 , 比如把乱七八糟的数据扔进一个列表 , 这就是简单的封装 , 而且是数据级的封装;把常用的代码块封装成一个函数也是一种封装 , 是语句级的封装 。
代码封装 , 其实就是把实现功能的具体代码隐藏起来的接口 , 只留给用户使用 。就像用电脑一样 。用户只需要使用键盘和鼠标来实现部分功能 , 而不需要知道内部是如何工作的 。
【什么叫面向对象编程(面向对象编程代码)】本节提到的面向对象编程也是一种封装的思想 , 但显然比以上两种封装更高级 。它可以更好地模拟现实世界中的事物(把它们当作对象) , 把描述特性的数据和代码块(函数)封装在一起 。
比如游戏中设计了一个乌龟角色 , 应该如何实现?使用面向对象的思想会更容易 , 这可以从以下两个方面来描述:
1.从表面特征描述 , 例如 , 绿色 , 有4条腿 , 重10kg , 有壳等 。
2.描述一下它的行为 , 比如它能爬 , 能吃 , 能睡 , 能把头和四肢缩到壳里 , 等等 。
如果用代码来表示乌龟 , 那么它的表面特征可以用变量来表示 , 它的行为特征可以通过建立各种函数来表示 。参考代码如下:
class tortoise: bodyColor = "绿色" footNum = 4 weight = 10 hasShell = True #会爬 def crawl(self): print("乌龟会爬") #会吃东西 def eat(self): print("乌龟吃东西") #会睡觉 def sleep(self): print("乌龟在睡觉") #会缩到壳里 def protect(self): print("乌龟缩进了壳里")1234567891011121314151617复制代码类型:[python]注意 , 上面的代码只是为了演示面向对象的编程思想 , 具体细节后面会详细介绍 。
所以从某个程序来说 , 相比于只使用变量或者函数 , 使用面向对象的思想可以更好的模拟现实生活中的事情 。
而且在Python中 , 所有的变量其实都是对象 , 包括integer (int)、float(float)、string (str)、list (list)、tuple (tuple)、dict(dict)、set (set) 。以字典(dict)为例 。它包含了很多函数供我们使用 , 比如用keys()获取字典中的所有键 , 用values()获取字典中的所有值 , 用item()获取字典中的所有键值对等等 。
面向对象相关术语在系统地学习面向对象编程之前 , 初学者应该了解一些关于面向对象的术语 。当与他人讨论代码 , 或者试图找到我们遇到的问题的解决方案时 , 了解正确的术语将会很有帮助 。
在面向对象中 , 常见的术语包括:
类:可以理解为一个模板 , 通过它可以创建无数的具体实例 。比如前面写的乌龟 , 只代表物种乌龟 , 通过它可以创建无数个实例来代表不同特征的乌龟(这个过程也叫类实例化) 。
Object:类不能直接使用 , 只能使用类创建的实例(也叫object) 。有点像汽车图纸和汽车的关系 。图纸本身(类)是不能给人用的 , 只能给图纸创造出来的车(物)用 。
属性:一个类中的所有变量都称为属性 。例如 , 在乌龟类中 , bodyColor、footNum、weight、hasShell都是这个类拥有的属性 。
方法:一个类中的所有函数通常被称为方法 。但是 , 与函数不同 , 类方法必须包含至少一个self参数(稍后将详细描述) 。比如在乌龟类中 , crawl()、eat()、sleep()、protect()都是这个类拥有的方法 。类方法不能单独使用 , 只能与类的对象一起使用 。
石开广场-人才学习交流平台


    推荐阅读