ホームページ >バックエンド開発 >Python チュートリアル >Pythonでの継承の用途は何ですか? Python継承の使い方を詳しく解説

Pythonでの継承の用途は何ですか? Python継承の使い方を詳しく解説

不言
不言オリジナル
2018-09-15 18:03:033146ブラウズ

この記事がもたらすのは、Python での継承の使用法についてです。 Python の継承の使い方を詳しく解説しているので参考になると思いますので、困っている方は参考にしていただければ幸いです。

オブジェクト指向の 3 つの主要な特徴
1. カプセル化: 役割に応じて、プロパティとメソッドを抽象クラスにカプセル化します。
2. 継承: コードの再利用を実装します。同じコードを再利用する必要はありません。繰り返し書き込み
3. ポリモーフィズム
単一継承
継承の概念: サブクラスは親クラスのすべての属性とメソッドを持つ
継承の構文
クラス クラス名 (親クラス) :
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継承の使い方を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。