总结
豆包 AI 助手文章总结

python中继承有什么用法?python继承的用法详解

不言
发布: 2018-09-15 18:03:03
原创
3343人浏览过

本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

面向对象三大特征
   1.封装:根据职责将属性和方法封装到一个抽象的类中
   2.继承:实现代码的重用,相同的代码不需要重复的写
   3.多态
单继承
继承的概念:子类拥有父类的所有属性和方法
继承的语法
class 类名(父类):
    def 子类特有的方法
"""
"""
cat类是animal类的子类,animal类是cat类的父类,cat从animal类继承
cat类是animal类的派生类,animal类是cat类的基类,cat类从animal类派生
"""
1.

class Animal(object):
    def eat(self):
        print '吃'
    def drink(self):
        print '喝'
    def run(self):
        print '跑'
    def sleep(self):
        print '睡'
登录后复制
class Cat(Animal):
    # 子类拥有父类的所有属性和方法
    def call(self):
        print '喵喵'
class Dog(Animal):
    def bark(self):
        print '旺旺'
class Hellokitty(Cat):
    def speak(self):
        print '我可以说日语'
登录后复制
# 创建一个猫对象
fentiao = Cat()
fentiao.eat()
fentiao.drink()
fentiao.run()
fentiao.sleep()
fentiao.call()
登录后复制

2.
重写父类方法
    1.覆盖父类的方法
    2.扩展父类的方法
"""

class Animal:
    def eat(self):
        print '吃'
    def drink(self):
        print '喝'
    def run(self):
        print '跑'
    def sleep(self):
        print '睡'
登录后复制
class Cat(Animal):
    # 子类拥有父类的所有属性和方法
    def call(self):
        print '喵喵'
登录后复制
class Hellokitty(Cat):
    def speak(self):
        print '我可以说日语'
    def call(self):
        # 针对子类特有的需求,编写代码
        print '欧哈有~空你起哇'
        # 调用原本在父类中封装的代码
        Cat.call(self)
        # 增加其他的子类代码
        print '#!@$@!#!#'
kt = Hellokitty()
# 如果子类中,重写了父类的方法
# 在运行中,只会调用在子类中重写的父类的方法而不会调用父类的方法
kt.call()
登录后复制

3.

class Bird:
    def __init__(self):
        self.hungry = True
    # 鸟吃过了以后就不饿了
    def eat(self):
        if self.hungry:
            print 'Aaaaahhh...'
            self.hungry = False
        else:
            print 'No thanks'
登录后复制
class SongBird(Bird):
    def __init__(self):
        self.sound = 'Squawk!'
        Bird.__init__(self)
    def sing(self):
        print self.sound
登录后复制
littlebird = SongBird()
littlebird.eat()
littlebird.sing()
登录后复制

4.

class A:
    def test(self):
        print 'A-----test 方法'
    def demo(self):
        print 'A-----demo 方法'
class B:
    def test(self):
        print 'B------test 方法'
    def demo(self):
        print 'B-------demo方法'
class C(B,A):
    """多继承可以让子类对象,同时具有多个父类的属性和方法"""
    pass
登录后复制
# 创建子类对象
c = C()
c.test()
c.demo()
登录后复制

相关推荐:

立即学习Python免费学习笔记(深入)”;

Python中的单继承与多继承

python类的继承是什么?类的继承有什么样的规则?

以上就是python中继承有什么用法?python继承的用法详解的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
豆包 AI 助手文章总结
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号