2020-12-13

面向对象:
对象划分为两部分,1.静态部分被称为属性,2.动态部分被称为什么行为。识别出这个对象的属性和行为后,这个对象就被定义完成了。类实质上就是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例。这也是进行面向对象程序设计的核心思想,即把具体事物的共同特征抽象成实体概念,有了这些抽象出来的实体概念,就可以在编程语言的支持下创建类。
在这里插入图片描述
一.类的定义:
python使用class关键字来定义类。其中,类名的首字母一般需要大写。
在这里插入图片描述
类的所有实例方法都必须至少有一个名为self的参数,并且必须是方法的第一个形参(如果有多个形参),self参数代表将来要创建的对象本身。在类的实例方法中访问实例属性时需要以self为前缀。
二.对象的创建:
在python中,有两种对象:类对象与实例对象。类对象只有一个,而实例对象可以有多个。
1.类对象:是在执行class语句时创建的。
2.实例对象:对象通过调用类对象来创建(就像调用函数一样来调用类对象),每个实例对象继承类对象的属性,并获得自己的命名空间。实例方法的第一个参数默认为self,表示引用实例对象。在实例方法中对self的属性赋值才会创建属于实例对象的属性。
如果类中存在相同名称的类属性与实例属性,则通过实例对象只能访问实例属性。
此外,还可以通过赋值运算符修改或增加类对象与实例对象的属性。
三.构造方法:
一般用来为实例属性设置初值或进行其他必要的初始化操作,在创建实例对象时被自动调用和执行。
四.析构方法:
一般用来释放对象占用的资源,在删除对象和收回对象空间时被自动调用和执行。
五.类方法:
类方法是类所拥有的方法,通过修饰器@classmethod在类中定义。其中,cls表示类本身,通过它可以访问类的相关属性,但不可以访问实例属性。在这里插入图片描述
六.静态方法:
类方法可以通过类名或实例对象名调用,静态方法也可以通过两者调用。其中,@staticmethod为装饰器,参数列表中可以没有参数。静态方法可以访问类属性,但不可以访问实例属性。
在这里插入图片描述
运算符重载:
在Python中可以通过运算符重载来实现对象之间的运算。字符串可以通过“+”运算符实现字符串连接操作,其本质是通过__add__方法重载了运算符“+”,字符串可以通过“+”运算符实现字符串连接操作,其本质是通过__add__方法重载了运算符“+”。
在这里插入图片描述
运算符重载包括:
算术运算符重载 比较运算符重载
字符串表示重载 索引或切片重载
检查成员重载
面向对象的三大特征:
1.封装:封装是面向对象程序设计的核心思想。它是指将对象的属性和行为封装起来,其载体就是类,类通常对客户隐藏其实现细节,这就是封装的思想。
(1)类的封装可以隐藏类的实现细节,迫使用户只能通过方法去访问数据,这样就可以增强程序的安全性。(2)在定义类时,可以将属性定义为私有属性,这样外界就不能随意修改。Python中通过在属性名前加两个下画线来表明私有属性。(3)当属性设置为私有属性后,经常需要提供设置或获取属性值的两个方法供外界使用。(4)私有属性在类外不能直接访问,但程序在测试或调试环境中,可以通过“对象名._类名”的方式在类外访问。
2.继承:继承是面向对象程序设计提高重用性的重要措施。它体现了特殊类与一般类之间的关系,当特殊类包含了一般类的所有属性和行为,并且特殊类还可以有自己的属性和行为时,称作特殊类继承了一般类。一般类又称为父类或基类,特殊类又称为子类或派生类。
(1)单一继承:指生成的派生类只有一个基类。所以继承关系比较简单,操作容易。
(2)多重继承:指派生类可以同时继承多个基类。在多重继承中,如果基类存在同名的方法,Python按照继承顺序从左到右在基类中搜索方法。
3.多态:是面向对象程序设计的重要特征。
指基类的同一个方法在不同派生类对象中具有不同的表现和行为,当调用该方法时,程序会根据对象选择合适的方法。
设计模式:工厂模式和适配器模式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值