继承

单继承

定义一个类,定义类里的方法,等等,完善之后,再定义一个类,继承上一个类的所有属性(私有属性除外)之后再输入内容,输出结果,这为单继承。
举个例子

class Cat (object):
	def __init__(self,name,color = '白色'):
		self.name = name
		sel.color = color
	def run(self):
		print('%d一直在跑'%self.name)
class Bosi(Cat):
	def setNewName(self,newName):
		self.name = newName
	def eat(self):
		print('%s一直在吃'%self.name)
bs = Bosi('印度猫')
print('bs的名字为:'%bs.name)
print('bs的颜色为:%s'%bs.color)
bs.eat()
bs.setNewName('波斯')
bs.run()

1.在这个代码中,有两个类,第一个类为父类,第二个类为子类,子类中没有定义方法init,是因为父类中已经定义过了,在子类继承父类后,方法init也已经继承过来了,而且米默认执行,所以不用定义init.
2.继承父类,在子类的括号中,是父类的名字。
3. 当然,父类中的私有方法 不能通过继承来传递过来。(例如:__name)前边有下滑线的属性。

多继承

class (A):
	def printA(self):
		print('--a--')
class (B):
	def printB(self):
		print('--b--')
class C(A,B):
	sef printC(self):
		print('--c--')
ww = C()
ww.printA()
ww.printB()

在这个例子中,A,B,C三个类,C类继承了A和B两个类那么,C就有了A和B两个类的方法,也可以随意调用A,B类里的方法(除了私有方法)
注意
1.当B类中有和A类中相同的方法,如过想指定调用其中一个类中方法时,可以直接调用类名来指定是哪个类里的方法。到时候,嘿嘿,您想输出那个,还不是信手拈来吗。
2.当然,还有重写这一说,就是子类中和父类有相同的方法,在调用时,如果不强调时父类,那就会直接覆盖父类中的方法,输出子类中的方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值