python 类的继承

本文部分内容参考《编程小白的第1本python入门书》,(侯爵著)一书,以及https://www.cnblogs.com/jiangzuofenghua/p/11413777.html该博客。

python允许在一个或多个类的基础上生成新的类,新的类可以使用父类的一些属性和方法。这个过程就叫做继承。

python继承最大的作用就是为了减少代码。

博美、萨摩耶、哈士奇、罗威纳犬等都属于狗类,都可以定义狗类的共同属性,这就是所谓的类的继承。

定义一个dog父类

class dog:  #定义一个父类
    dog_describe = ["are the most faithful friend of people","were domesticated from wolves by early humans "]
    def __init__(self,characteristic):
        self.characteristic_describe = characteristic	#可以认为是创建实例属性,并为其赋值
    def Dog(self):
        for i in dog_describe:
            print("dogs {}".format(i))

我们在新的类Pomeranian(博美狗)后面的括号放入dog,这就表示该子类继承于dog这个父类。父类中的变量和方法可以完全被子类继承,如需进行改动,也可以进行覆盖。

class Pomeranian(dog):	#定义一个Pomeranian(博美犬)子类
    def Pomeranian_describe(self):	#在子类中定义新方法
	self.Dog()		#继承父类中的方法
	
example1 = Pomeranian("flexible and active")	#创建实例,并为dog父类中_init_()方法的characteristic的行参赋值
example1.Pomeranian_describe()

#程序运行结果:
Pomeranian_dogs are the most faithful friend of people
Pomeranian_dogs were domesticated from wolves by early humans 

我们再举一个例子:

class samoyed(dog):	#定义一个samoyed(萨摩耶)子类
    def samoyed_characteristic(self):	##在子类中定义新方法
        print("samyoed_dogs include these characteristic:%s"%self.characteristic_describe)	#继承父类中的实例
example2 = samoyed("a good sense of smell and loyalty")	##创建实例,并为dog父类中_init_()方法的characteristic的行参赋值
example2.samoyed_characteristic()	

#程序运行结果:
samyoed_dogs include these characteristic:a good sense of smell and loyalty

附:
博美(Pomeranian)
在这里插入图片描述

萨摩耶(samoyed)
在这里插入图片描述

如有错误,敬请批评指正!谢谢!

Python继承是指一个子可以继承一个或多个父的属性和方法。这个过程可以实现代码的重用。在Python中,多继承的基本语法很简单。一个简单的例子是: ```python class A(): def test(self): print("test") class B(): def demo(self): print("demo") class C(A, B): pass c = C() c.test() c.demo() ``` 在这个例子中,C继承A和B。因此,实例化的对象c可以调用test()方法和demo()方法。 另一个例子是: ```python class Animal: def eat(self): print("吃") def drink(self): print("喝") class Dog(Animal): def bark(self): print("汪汪叫") goudan = Dog() goudan.eat() goudan.drink() ``` 在这个例子中,子Dog继承了父Animal。因此,实例化的对象goudan可以调用eat()方法和drink()方法。 继承还具有传递性,意味着子不仅可以继承的方法和属性,还可以继承的父的方法和属性。这意味着子可以间接访问父的父的方法和属性。 另外,在继承中,子也可以重写父的方法。当子重写了一个方法时,子将使用自己的实现而不是从父继承的实现。这允许子根据自己的需求来定制方法的行为。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python继承](https://blog.csdn.net/hello_JeremyWang/article/details/122380842)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值