美文网首页
一文讲透python类的继承原理,好比调制鸡尾酒

一文讲透python类的继承原理,好比调制鸡尾酒

作者: 码字的程序员 | 来源:发表于2022-06-30 14:55 被阅读0次

python类继承的原理

python类继承的原理,大家完全可以将其想象为调鸡尾酒,就是电视上调酒师拿着一个杯子甩来甩去的跟扔印度飞饼一样的那种,我们不难发现,调鸡尾酒会用很多的原材料来勾兑(至于严格上来说是不是勾兑鄙人也不清楚),比如什么威士忌啦、汽水啦、果汁啦、薄荷啦、盐巴啦、橄榄啦等等,有时候还会打个火......如此一来,鸡尾酒不仅就具备了多种原材料的味道,而且还具备了多种原材料调和出来的味道,更关键的是具备了鸡尾酒这样的文化属性。我们可以说,鸡尾酒就是继承了多种原材料的属性,并有可能发展出了自己的属性。

python类的继承也大概如此,而且从调鸡尾酒的原理我们也可以进一步推出python类的继承的好处。

python类继承的强大功能和作用

高效:有了原材料(python编程中的各种父类),我们就可以很快地调制出新品种的酒水饮料(新的python类),以用于满足不同的顾客(满足python编程中不同的功能需求),而不用从源头开始制曲酿酒,所以可以说通过类的继承是非常高效的。比类的继承更高效的应该是python类的多态,这个我们将在下一个章节中进行介绍。

python类的继承实例

很多python的文档或教程在讲到python类的继承的时候会用animal来讲解,鄙人之前自学python的时候接触到的好像也是这个,现在我们创新(叛逆)一点,来创建一个程序员的类,并使用继承的方式,代码如下:

class Person(): #声明一个Person类
    def __init__(self, name):
        self.name = name
    def person_speak(self):
        print('大家好。')

class Workers(Person): #声明的打工者的类单继承了Person这个类(实际上还有一个object基类)

    def __init__(self, name, age):
        Person.__init__(self,name) #可以直接调用Person类的初始化方法,注意参数要与上面的Person类的保持一致。
        self.age = age

    def workers_speak(self):
        print('我是个打工者,名字叫%s,今年%s岁!' %(self.name, self.age))


class GoodGuy(Person):
    def __init__(self,name,natrue):
        Person.__init__(self, name)
        self.natrue = natrue
    
    def goodguy_speak(self):
        print('我性格%s,对爱情就像对科学计算一样严谨认真,是一个好人,这一点是证据确凿的,因为每次跟人表白,她们总爱说我是个Good Guy!'%(self.natrue))



class Programmer(Workers, GoodGuy): #声明一个程序员的类,继承了Workers和GoodGuy类

    def __init__(self, name, age, occupation, natrue, hair, companion):
        Workers.__init__(self,name,age)
        GoodGuy.__init__(self,name,natrue)
        self.occupation = occupation
        self.hair = hair
        self.companion = companion
    
    def programmer_speak(self):
        print('我是个%s,厉不厉害不清楚,但头发是%s的,而且%s!' %(self.occupation, self.hair, self.companion))


programmer = Programmer('小明','28','程序员','内向','秃顶','单身')
programmer.person_speak() #注意,我们并没有在Programmer类中创建person_speak()实例方法,但是通过继承直接获得
programmer.workers_speak() #同上,注意,Programmer类并没有直接继承Person类,为什么也可以调用person_speak(),见下面的代码解析
programmer.goodguy_speak()
programmer.programmer_speak()
————————————————————————————————————————————
程序输出:
大家好。
我是个打工者,名字叫小明,今年28岁!
我性格内向,对爱情就像对科学计算一样严谨认真,是一个好人,这一点是证据确凿的,因为每次跟人表白,她们总爱说我是个Good Guy!
我是个程序员,厉不厉害不清楚,但头发是秃顶的,而且单身!


#原创内容,转载请注明“大器编程x1y1z1.com”

更多实例代码的解析、类的继承原理,及更多有趣、实用的python语法实例,可以参考下面的内容:
python类的继承原理,好比调鸡尾酒,用继承创建单身程序员类实例

相关文章

  • 一文讲透python类的继承原理,好比调制鸡尾酒

    python类继承的原理 python类继承的原理,大家完全可以将其想象为调鸡尾酒,就是电视上调酒师拿着一个杯子甩...

  • 临别一语鸡尾酒

    临别一语 The Last Word 这款鸡尾酒调制容易,但是品尝之后难以忘怀,好比灵别时候的最后一语。这款鸡尾酒...

  • 类的继承顺序

    python2新式类继承object的类python2经典类未继承任何类的python2新式类和python3的继...

  • 2018-08-01python学习面向对象(类的继承)

    子类:继承者父类(超类):被继承者1.怎么继承python中类是可以继承的,并且支持多继承 说明:python中所...

  • python中的类的继承、多态和运算符重载

    类的继承 1.继承 python中的类支持继承,并且支持多继承。 python中默认情况是继承自object(ob...

  • 一阶段day16-01面向对象

    Python中类支持继承,并且支持多继承 一、继承 1、什么是继承 父类(超类):被继承的类子类:继承父类的类继承...

  • 2018-10-19面向对象和pygame

    类的继承 python中的类支持继承,并且支持多继承 1.什么是继承 父类(超类):被继承的类子类:继承的类继承就...

  • day16

    类的继承 python中的类支持继承,并且支持多继承() 1.什么是继承 父类(超类):被继承的类子类:去继承的类...

  • 10.19 day16面向对象和pygame

    1.类的继承python中类 支持继承,并且支持多继承()1.什么是继承父类(超类):被继承的类 子类:继承的类,...

  • 2018-10-19继承、重写、内存管理和认识pygame

    一、类的继承 Python中类支持继承,并且支持多继承 1、什么是继承 父类(超类):被继承的类子类:去继承父类的...

网友评论

      本文标题:一文讲透python类的继承原理,好比调制鸡尾酒

      本文链接:https://www.haomeiwen.com/subject/kjbfbrtx.html