什么是class,什么是instance,什么是object?
什么是class,什么是instance,什么是object?
Class:
可以理解为一个组装工厂。假如我们要生产一个机器人,那我们先要搭个工厂吧。先确定:我们要先安装胳膊,再安装头,我们的小破机器人的流水线就搭好了。这个工厂比较智能,胳膊和头的数量都可以调。class BuildRobot():
def __init__(self,armcount,headcount):
self.armcount = armcount
self.headcount = headcount
所以这里的class,就是搭了一个工厂叫BuildRobot。‘init’ 就是告诉这个流水线,首先你需要这个机器人有几个胳膊(‘armcount’),有几个脑袋(‘headcount’)。先忽略一下这里的self,以后讲。这个时候你可以run一下,这样你的class就搭好了。可是这时的工厂,因为你没有开始生产,是没有任何产出的。
下面就是instanceinstance:
可以理解为启动一次工厂生产出的机器人。现在我们用之前搭的工厂生产一个正常一点的机器人,两个胳膊一个脑袋:
`normal_robot = BuildRobot(2,1)`
查看一下胳膊数对不对?normal_robot.armcount2我们再来一个 不太正常的机器人:
weird_robot = BuildRobot(4,1)
normal_robot 和weird_robot 都是instance。
他们虽然胳膊数量不一样,但是本质上都是由这个class造出来的,由胳膊和头组成的机器人。object: 这个就比较麻烦了,大部分情况下,object和instance的含义是一样的,都是指这个造出来的robot。这两者的区别,只是在英语语言环境下的区别:normal_robot is an instance of 'buildrobot’normal_robot is a ‘buildrobot’ object上面这两个说法是等价的。
上一篇: 前端项目打包成.exe桌面应用初体验
推荐阅读
-
什么样的路由器是最好的?
-
在console中看到AJAX请求要用1.5S左右,如何去测试PHP代码中是哪一段比较费时间,用什么工具可以看到整个运行过程吗?
-
为什么单例模式是邪恶的(译)_PHP教程
-
为什么苹果新语言 Swift 的 RC4 运算效能是 Python 的 220 倍?
-
求上面这段代码是通过什么加密的
-
为什么我用imagecopy显示的图案是灰度的?
-
求教,QQ和YY那个弹窗结构是用什么语言结构?html?xml?结合的是c c++ 还是?_html/css_WEB-ITnose
-
javascript - php 有什么函数是可以根据文件名称,来获取这个文件的全路径的吗?或者js 怎么获取文件的全路径?
-
360_safe3.php 请问下这个文件是做什么的
-
什么是电子邮件,基本原理是什么?如何注册?