13

使用Python进行面向对象编程(OOP)

 3 years ago
source link: https://panchuang.net/2021/09/16/%e4%bd%bf%e7%94%a8python%e8%bf%9b%e8%a1%8c%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1%e7%bc%96%e7%a8%8boop/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

使用Python进行面向对象编程(OOP)

fendouai • 2021年9月16日 am5:03 • Medium

面向对象编程(OOP)是一种通过将相关属性和行为捆绑到单个对象中来构建程序的方法。从概念上讲,对象就像系统的组件。把程序想象成某种工厂装配线。在装配线的每一步,系统部件都会处理一些材料,最终将原材料转化为成品。

对象包含数据(如装配线上每一步的原材料或预处理材料)和行为(如每个装配线组件执行的操作)。

面向对象编程的四个原则

面向对象编程的四大支柱是继承、封装、抽象和多态性。在继承中,子类继承父类的数据和行为。在封装中,信息包含在对象中,从而只公开选定的信息。抽象只公开访问对象的高级公共方法。在多态性中,许多方法都可以完成相同的任务。

使用Python进行面向对象的编程

面向对象编程是一种编程范例,它提供了一种组织程序的方法,以便将属性和行为捆绑到单个对象中。例如,对象可以表示具有姓名、年龄和地址等属性以及行走、说话、呼吸和跑步等行为的人,也可以表示具有收件人列表、主题和正文等属性以及添加附件和发送等行为的电子邮件。

换句话说,OOP是一种对具体的、真实世界的事物(如汽车)以及事物之间的关系(如公司和员工、学生和教师等)进行建模的方法。OOP将现实世界中的实体建模为软件对象,这些软件对象具有一些与其相关的数据,并且可以执行某些功能。

另一个常见的编程范例是过程性编程,它的程序结构类似于食谱,因为它以函数和代码块的形式提供了一组步骤,这些步骤按顺序流动以完成任务。对象是Python中面向对象编程的中心。

类是对象的用户定义的原型,它定义了一组表征类的任何对象的属性。属性是通过点表示法访问的数据成员和方法。CLASS语句创建新的类定义。类的名称紧跟在关键字class之后,后跟冒号。原始数据结构(如数字、字符串和列表)旨在表示简单的信息,如苹果的价格、诗歌的名称。类用于创建用户定义的数据结构。类定义称为方法的函数,这些函数标识从类创建的对象可以使用其数据执行的行为和操作。

某个类的单个对象称为实例。属于类的对象是该类的实例。实例变量是在方法内部定义的变量,并且只属于类的当前实例。实例化是创建类的实例。

对象是由其类定义的数据结构的唯一实例。对象包括数据成员和方法。要创建类的实例,可以使用类名调用该类,并传入itinit_method接受的任何参数。您可以使用点操作符with object访问对象的属性。可以使用类名访问类变量。

Python会自动删除不需要的对象以释放内存空间。Python定期回收不再使用的内存块的过程称为垃圾收集。Python垃圾收集器在程序执行期间运行,并在对象的引用计数达到零时触发。对象的引用计数会随着指向该对象的别名数量的变化而变化。当为对象指定新名称或将其放入容器(列表、元组或字典)中时,对象引用计数会增加。当使用del删除对象、重新分配其引用或其引用超出范围时,该对象的引用计数会减少。当对象的引用计数达到零时。Python会自动收集它。

与从头开始不同,您可以通过在新类名后的括号中列出父类来从预先存在的类派生类来创建类。子类继承其父类的属性,您可以使用这些属性,就像它们是在子类中定义的一样。子类还可以重写父类中的数据成员和方法

……待续>

原创文章,作者:fendouai,如若转载,请注明出处:https://panchuang.net/2021/09/16/%e4%bd%bf%e7%94%a8python%e8%bf%9b%e8%a1%8c%e9%9d%a2%e5%90%91%e5%af%b9%e8%b1%a1%e7%bc%96%e7%a8%8boop/


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK