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


本文摘自php中文网,作者不言,侵删。

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

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

1

2

3

4

5

6

7

8

9

class Animal(object):

    def eat(self):

        print '吃'

    def drink(self):

        print '喝'

    def run(self):

        print '跑'

    def sleep(self):

        print '睡'

1

2

3

4

5

6

7

8

9

10

class Cat(Animal):

    # 子类拥有父类的所有属性和方法

    def call(self):

        print '喵喵'

class Dog(Animal):

    def bark(self):

        print '旺旺'

class Hellokitty(Cat):

    def speak(self):

        print '我可以说日语'

1

2

3

4

5

6

7

# 创建一个猫对象

fentiao = Cat()

fentiao.eat()

fentiao.drink()

fentiao.run()

fentiao.sleep()

fentiao.call()

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

1

2

3

4

5

6

7

8

9

class Animal:

    def eat(self):

        print '吃'

    def drink(self):

        print '喝'

    def run(self):

        print '跑'

    def sleep(self):

        print '睡'

1

2

3

4

class Cat(Animal):

    # 子类拥有父类的所有属性和方法

    def call(self):

        print '喵喵'

1

2

3

4

5

6

7

8

9

10

11

12

13

14

class Hellokitty(Cat):

    def speak(self):

        print '我可以说日语'

    def call(self):

        # 针对子类特有的需求,编写代码

        print '欧哈有~空你起哇'

        # 调用原本在父类中封装的代码

        Cat.call(self)

        # 增加其他的子类代码

        print '#!@$@!#!#'

kt = Hellokitty()

# 如果子类中,重写了父类的方法

# 在运行中,只会调用在子类中重写的父类的方法而不会调用父类的方法

kt.call()

3.

1

2

3

4

5

6

7

8

9

10

class Bird:

    def __init__(self):

        self.hungry = True

    # 鸟吃过了以后就不饿了

    def eat(self):

        if self.hungry:

            print 'Aaaaahhh...'

            self.hungry = False

        else:

            print 'No thanks'

1

2

3

4

5

6

class SongBird(Bird):

    def __init__(self):

        self.sound = 'Squawk!'

        Bird.__init__(self)

    def sing(self):

        print self.sound

1

2

3

littlebird = SongBird()

littlebird.eat()

littlebird.sing()

4.

1

2

3

4

5

6

7

8

9

10

11

12

13

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

1

2

3

4

# 创建子类对象

c = C()

c.test()

c.demo()

相关推荐:

Python中的单继承与多继承

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

以上就是python中继承有什么用法?python继承的用法详解的详细内容,更多文章请关注木庄网络博客!!

相关阅读 >>

聊聊 Python 的双向队列

Python中如何移除字典中的 key

Python中is 和 ==的详细解析(附代码)

Python安装怎么改路径

Python update函数定义及作用实例解析

Python代码画出爱心曲线

Python为什么适合人工智能

Python和spyder的区别

基于matplotlib Python实现正弦信号的时域波形和频谱图示例

Python在文本开头插入一行的实例

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...