Python_基础_learning 03

面向对象

基本语法

定义类 class	类名(⽗类名):								
          类变量	=	值								
   构造⽅法				
       def	__init__(self,形参1,形参2,…):								
             self.__属性名1	=	形参1								
             self.__属性名2	=	形参2
       def	get_属性名(self):								
            return	self.__属性名
       def	set_属性名(self,value):								
             self.__属性名	=	value
				
@classmethod				
def	⽅法名(cls,	形参1,形参2,…):								
     ⽅法体
def	__str__(self):								
     return	字符串

 实例化 
 对象名	=	类名()	
 取值: 对象名.变量名 	
 赋值: 对象名.变量名	=	值 
 
 #	类⽅法调⽤ 
 类名.类⽅法名(实参1,实参2,…)

魔术⽅法
init :创建对象时为对象初始化成员变量
str :使⽤print函数打印输出对象到屏幕时被调⽤的⽅法,⽤于返回对象的规范化字符串表现形式
类名.mro :查看继承关系
new :⽤于定义创建对象时执⾏的操作,在创建对象时⾃动运⾏,类的静态⽅法
del :删除对象,在对象断开与最后⼀个变量之间的引⽤关系时⾃动执⾏
对象判等

当两个对象对应的引⽤地址相同时,称这两个对象是同⼀个对象 is:判等操作的结果是True或False

= = 与is区别:
“= =”:对内容、数值进⾏判定
“is”:只针对地址进⾏判定,地址相同即返回True,否则返回False

单例模式
控制⼀个类只能创建出单个实例对象 定义的类变量要进⾏私有化,否则可以通过类名在类的外部访问到 对象的判空操作使⽤is进⾏判定

class	MusicPlayer(object):		#	记录第⼀个被创建对象的引⽤				
        instance	=	None				#	记录是否执⾏过初始化动作				
        init_flag	=	False				
        def	__new__(cls,	*args,	**kwargs):								
#	1.	判断类属性是否是空对象**								
               if	cls.instance	is	None:												
#	2.	调⽤⽗类的⽅法,为第⼀个对象分配空间												
                    cls.instance	=	super().__new__(cls)								
 #	3.	返回类属性保存的对象引用		
               return	cls.instance				
        def	__init__(self):								
               if	not	MusicPlayer.init_flag:												
                     print("初始化⾳乐播放器")												
               MusicPlayer.init_flag	=	True								
                  self.void	=	True

相关概念
类:⼀系列事物的统称,同类事物必定具有相同的特征,⽇常事物的特征根据特性分为状态和行为,对应到类中是变量和⽅法。
类成员:成员变量、成员⽅法的统称

成员变量:⽤于描述对象的固有状态或属性,也叫公有变量

成员⽅法:⽤于描述对象的固有⾏为,也叫实例⽅法

对象:类的具体表现形式,是实际存在的个体,也叫实例(instance)

类和对象的关系:⼀个类可以创建任意个数的对象

封装:对受访问保护的成员进⾏功能开放的控制,达到保护数据不被⾮法访问的⽬的
类变量:定义在类中,不属于某个具体对象的特征,被所有对象共同使⽤的特征

类⽅法:定义在类中,不属于某个具体对象的⾏为,被所有对象共同使⽤的⾏为 类⽅法中不允许使⽤实例变量和实例⽅法 类⽅法中允许使⽤类变量和类⽅法,通过第⼀个参数cls进⾏ 实例⽅法中允许使⽤类变量和类⽅法

静态⽅法:既不访问成员变量,也不访问类变量,定义成静态⽅法

继承:⼀种类间关系,⼀个类A从另⼀个类B获取成员信息,称类A继承⾃类B。
提供成员信息的 类称⽗类(基类),获取成员信息的类称⼦类(派⽣类)。
⼦类可以添加⽗类没有的成员 ⽗类私有成员不可被继承

多继承:⼀个类同时继承多个类,称为多继承。
class 类名(⽗类名1,⽗类名2…) 多继承关系中,当多个⽗类具有同名的成员,⼦类调时该成员时先调⽤继承关系中的第⼀个 声明的类的成员。

重写:在⼦类中定义与⽗类相同名称的成员⽅法。 super().⽅法名()

多态:⼀个对象具有多种形态,在不同的使⽤环境中以不同的形态展示其功能,称该对象具有多态特征。

多态通常发⽣在继承关系的基础之上。

注意: - 只访问成员变量的⽅法,定义成实例⽅法 - 只访问类变量的⽅法,
定义类⽅法 - 既访问成员变量,也访问类变量的⽅法,
定义成实例⽅法 - 既不访问成员变量,也不访问类变量,定义成静态⽅法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值