• 继承:多继承


     # ### 多继承
    
    # (1) 基本语法
    class Father():
    	f_property = "风流倜傥,英俊潇洒"
    	def f_hobby(self):
    		print("吃喝嫖赌抽,坑蒙拐骗偷,喜欢烫头")
    		
    class Mother():
    	m_property = "沉鱼落雁,闭月羞花"
    	def m_hobby(self):
    		print("打麻将,跳广场舞,喜欢买名牌包包")
    		
    # 多继承:在括号里面用逗号,把多个父类隔开
    class Daughter(Father,Mother):
    	pass
    
    obj = Daughter()
    print(obj.f_property)
    obj.m_hobby()
    
    # (2) 调用父类
    class Father():
    	f_property = "风流倜傥,英俊潇洒"
    	def f_hobby():
    		print("吃喝嫖赌抽,坑蒙拐骗偷,喜欢烫头")
    		
    class Mother():
    	m_property = "沉鱼落雁,闭月羞花"
    	def m_hobby(self):
    		print("打麻将,跳广场舞,喜欢买名牌包包")
    
    """
    (1)super本身是一个类 super()是一个对象 用于调用父类的绑定方法
    (2)super() 只应用在绑定方法中,默认自动传递self对象 (前提:super所在作用域存在self)
    (3)super用途: 解决复杂的多继承调用顺序
    """
    class Son(Father,Mother):
    	# f_property = "子类的属性f_property"
    	# (1)通过类的方式调用父类的相关成员
    	def skill1(self):
    		# 调用Father中的f_hobby
    		Father.f_hobby()
    		# 调用Mother中的m_property
    		print(Mother.m_property)
    		
    	# (2)通过对象的方式调用父类的相关成员
    	def skill2(self):
    		# 调用Father中的f_property
    		print(self.f_property)
    		# 调用Mother中的m_hobby
    		self.m_hobby()
    		
    	# (3)使用super调用父类的相关成员
    	def skill3(self):
    		# 调用Father中的f_property
    		# super() 一定调用的是父类的,区别于self.
    		# print(super().f_property)
    		# super().f_hobby() error  super()调用的是绑定方法,默认传递self参数
    		# 调用Mother中的m_hobby
    		super().m_hobby()
    		
    print("<====>")
    obj = Son()
    # obj.skill1()
    # obj.skill2()
    obj.skill3()
    
    '''
    self 在子类存在这个成员的时候,调用自己的
    子类不存在这个成员的时候,调用父类的
    而super,是一定只调用父类的公有成员属性,和公有绑定方法.
    '''
    

      

  • 相关阅读:
    3DMax的OFusion插件使用问题
    eclipse调试java调用matlab程序的7.17dll找不到的问题
    C++malloc,calloc,realloc,free函数
    北漂工作心得
    [置顶] 使用sping AOP 操作日志管理
    你不知道的Eclipse用法:使用Allocation tracker跟踪Android应用内存分配
    [置顶] 程序员扩充人脉那些事儿
    linux常见笔试题
    数学之路(3)-机器学习(3)-机器学习算法-神经网络[4]
    Android屏幕相关设置
  • 原文地址:https://www.cnblogs.com/huangjiangyong/p/10920591.html
Copyright © 2020-2023  润新知