在上一个视频中, 我们了解到Opie是我们所说的范式, 是一种思考代码和构建代码的方式｡
我将链接到维基百科上一篇关于编程语言历史的优秀文章｡
我们从基本的编程语言开始｡
我们有汇编语言这类非常低级的语言, 非常接近机器代码｡
我们有COBOL这样的东西, 然后我们慢慢地, 当我们在六七十年代开始写越来越多的代码时,
我们开始建立一些基本的范式｡
其中一个大的范式, 特别是Smalltalk编程语言, 就是面向对象编程的思想,
或者说是面向对象语言｡
你看, 在那之前, 我们写了我们称之为过程代码的东西｡
这意味着, 如果我们看一个Python文件, 例如, 一个过程代码就像一个过程｡
我们只是从一行到100行, 我们只是从行的顶部到行的底部｡
我们有条件句, 也许是循环句, 但一切都是这样, 那样｡
是我们告诉机器, 嘿, 就照这个做｡
我将通过介绍面向对象的范例来告诉你｡
这改变了一点｡
我们开始说, 嘿, 让我们在代码中建模一些代表真实的世界对象的东西｡
例如, 如果我要编写一辆汽车, 我会创建一个汽车对象, 其中包含关于它是什么颜色的数据, 它有什么类型的发动机,
它有多少个座位, 还有我们可以对它采取的动作,
比如方法, 比如汽车可以前进, 可以后退, 可以开门｡
我们可以用模型和真实的世界的蓝图来思考, 而不是用这些一行一行的程序代码, 因为作为人类,
我们可以组织事物｡
想一个房间｡
想象一个工厂, 通过组织事物, 在特定的位置有不同的小组, 一起工作｡
这是一种更好的思考和管理方式｡
那么在Python中该怎么做呢？
Python是一种面向对象的语言, 或者可以是, 这意味着它能够支持开放的思想｡
对象和建模的概念, 我们在使用类型时看到过, 我们看到所有的东西都是对象,
因为我们使用了class关键字.
但是, Python中的class关键字是什么呢？
我可以创建我自己的数据, 通过简单地说class来键入我自己的类, 然后我可以随意命名它｡
比如说上课｡
大的｡
的对象｡
现在马上｡
您可以看到, 这里的命名约定与我们以前看到的不同｡
我们要确保它是大写的, 这是标准的｡
我们想让程序员知道这是一个类, 我们没有使用snake的例子｡
我们用的是骆驼大小写, 也就是每个新单词都是大写字母｡
这里我们用冒号, 然后在这里写代码｡
我现在不打算写代码｡
我还是算了吧｡
但就在这里, 我刚刚创建了一个新类, 比如说, 如果我这样做了｡
式｡
单击“运行”｡
我还是得到了类型, 因为我们现在创建的是这个类, 它是一个蓝图,
但我们还没有真正创建对象.
我知道措辞可能会让人困惑, 但请耐心等待｡
我会解释的｡
我们现在可以创建, 比如说, 对象1等于大对象, 然后运行这个类｡
因此, 如果我在这里输入对象, 对象一, 然后单击运行｡
我有品位｡
大物件｡
你现在可以忽略主项, 因为我们稍后会讨论它｡
但是你可以看到我刚刚创建了我自己的对象｡
现在, 让我们来想想刚才发生了什么, 因为这是一个很大的理解｡
你可以看到面向对象的程序设计, 有类和对象的概念｡
现在, 一个类是这样的｡
这是蓝图
我们想要创造的蓝图｡
我们的类所具有的基本属性是什么？
我们的类可以采取哪些基本方法或操作？
然后从这个蓝图, 我就可以用它作为建筑材料, 一遍又一遍地创造不同的物体｡
这个蓝图就是我们所说的类｡
我们用class关键字定义它, 这个类可以被实例化｡
这是创建不同实例的操作｡
这些实例是什么？
这些都是物件｡
这里的命名是你必须习惯的｡
并且所有面向对象的编程语言都有这种语言｡
所以你得明白别人说的话｡
嘿, 我刚实例化了一个类｡
这意味着, 嘿, 我刚刚创建了一个新实例, 一个新对象｡
看这张图, 让我们回到刚才写的代码｡
我们在这里创建了一个类或蓝图｡
然后这里的双括号是我们实例化类, 然后说, 嘿, 类, 使用这里的任何代码,
实例化它, 并创建一个新对象｡
所以我们通过实例化这个类来创建一个新的对象｡
这就是我们用列表做的事情, 对吧？
我可以一遍又一遍地创建多个列表｡
每次创建列表时, 我都可以访问所有这些方法, 有时甚至可以访问我可以使用的属性｡
这样我就保存了很多时间, 而不是自己编写代码｡
用同样的方法我可以在这里创建多个对象｡
对象为｡
第三个目标｡
就像那样｡
现在我有三个不同的对象, 我可以使用基于这个蓝图｡
现在, 蓝图中没有任何内容, 因为我可以稍后在此处添加代码, 我们将在下一个视频中进行此操作｡
但最妙的是让我们来考虑一下效率｡
您可以看到蓝图本身｡
类将被存储在内存中｡
所以Python解释器会说, 嘿, 大对象将是这个的蓝图｡
所以我要把所有的代码存储在内存中｡
但每次创建对象时, 我都不必重写代码或做类似的事情｡
我可以简单地说, 嘿, 进入内存, 找到大对象所在的位置, 运行代码,
这样我们就可以保持代码干燥｡
我们有一个地方可以将代码实例化为对象｡
让我们休息一下, 并在下一个视频中详细介绍这门课｡