Python に複数のクラスを継承させるにはどうすればよいですか? Python クラスの継承を 1 つの記事で理解する

Tomorin
リリース: 2018-08-14 17:13:06
オリジナル
4426 人が閲覧しました

オブジェクト指向プログラミングの主な利点の 1 つはコードの再利用です。この再利用を実現する方法の 1 つは、Python クラス の継承とこれに基づく Python です。複数のクラスからメソッドを継承します

Python クラス の継承によって作成された新しいクラスは サブクラス または 派生クラス と呼ばれ、継承されたクラスは と呼ばれます。基本クラス 親クラス 、または スーパークラス

継承構文:

class 派生类名(基类名)
    ...
ログイン後にコピー

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 class Parent:        # 定义父类
   parentAttr = 100
   def __init__(self): 
        print "调用父类构造函数"
 
   def parentMethod(self): 
        print '调用父类方法'
 
   def setAttr(self, attr):
        Parent.parentAttr = attr
 
   def getAttr(self): 
        print "父类属性 :", Parent.parentAttr
 class Child(Parent): # 定义子类
   def __init__(self): 
        print "调用子类构造方法"
 
   def childMethod(self): 
        print '调用子类方法'
 c = Child()          # 实例化子类
 c.childMethod()        # 调用子类的方法
 c.parentMethod()        # 调用父类方法
 c.setAttr(200)         # 再次调用父类的方法 - 设置属性值
 c.getAttr()          # 再次调用父类的方法 - 获取属性值
ログイン後にコピー

上記のコードの実行結果は次のとおりです:

调用子类构造方法
调用子类方法
调用父类方法
父类属性 : 200
ログイン後にコピー

継承クラスの拡張子:

Python は複数のクラスを継承します

class A:        # 定义类 A
.....
class B:         # 定义类 B
.....
class C(A, B):      # 继承类 A 和 B
.....
ログイン後にコピー

issubclass() または isinstance() メソッドを使用して検出できます。

issubclass() - ブール関数は、クラスがサブクラスであるか、別のクラスの子孫であるかを決定します。構文: issubclass(sub,sup)

isinstance(obj, Class) ブール関数 if obj が返すClass クラスのインスタンス オブジェクトまたは Class サブクラスのインスタンス オブジェクトの場合は true。


以上がPython に複数のクラスを継承させるにはどうすればよいですか? Python クラスの継承を 1 つの記事で理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート