Python基础7,继承

继承

class Dog():
	def __init__(self):
	print('旺旺')
class Tdi(Dog):
	def __init__(self):  # 重写
		print('嗷呜嗷呜')
		Dog.__init__()  #如果还想保留父类的方法,就调用父类的方法
		super().__init__()  # super找父类
xiaobaigou = Tdi()

object类是所有类的基类

class A():
	pass
print(A.__bases__)  # 查看基类

多继承

class Person:
	def __init__(self,name='baby',age=0):
		self.name = name
		self.age = age
	def sleep(self):
		print('sleep')
	def eat(self):
		print('eat')
	def cooking(self):
		print('cooking')
class Father(Person):
	def coooking(self):
		print('香!')
		super().cooking()
	def painting(self):
		print('%s的画画技术世界一流'%self.name)
a = Father()
a.cooking()
a.sleep()
a.painting()
class Mather(Person):
	def cooking(self):
		print('很香!')
	def zhimaoyi(self):
		print('zhi')
b = Mather()
b.cooking()
b.zhimaoyi()
class Son(Father,Mather):  # 就近原则
	def cry(self):
		print('cry')
	def cooking(self):
		super.cooking()
		print('泡面')
panghu = Son('胖虎',5)
panghu.cry()
panghu.cooking()

一般不提倡多继承
new 魔法方法
单例模式

class Earth():
    def __new__(cls, *args, **kwargs):
        if not hasattr(cls, 'instance'):
            cls.instance = super().__new__(cls)
        return  cls.instance

单例的运用:任务管理器,回收站,项目日志,多线程的线程池的设计

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值