プロセス指向プログラミングでは、コンピューター プログラムを一連のコマンド セット、つまり一連の関数を順次実行するものとみなします。 。プログラミングを簡素化するために、プロセス指向の関数は引き続きサブ関数に分割されます。つまり、大きな関数が小さな関数に分割されて、システムの複雑さが軽減されます。
Python と Java はどちらもオブジェクト指向言語です。オブジェクト指向プログラミングの特徴データのカプセル化、継承、ポリモーフィズム
1. クラスとインスタンス
オブジェクト指向プログラミングの最も重要な概念はクラスとインスタンスです)、クラスは Student クラスなどの抽象テンプレートであり、インスタンスはクラスに基づいて作成された特定の「オブジェクト」であることを覚えておく必要があります。各オブジェクトには同じメソッドがありますが、そのデータは異なる場合があります。
Python では、クラス キーワードはクラスを定義するためにも使用されます。クラスの後にはクラス名が続きますが、最初は大文字にする必要があります。その後の括弧は、どのクラスを継承するか、つまりその親クラスを示します。
class Student(object): pass
この変数には属性を自由にバインドできます
>>>nick.name = 'Liu Ling Hao' >>>nick.name 'Liu Ling Hao'
後で定義されるさまざまな関数はメソッドです。要約オブジェクト = 属性メソッド
クラスはテンプレートとして機能できるため、インスタンスを作成するときに、バインドする必要があると思われるいくつかの属性を強制的に入力できます。現時点では、より特別な __init__ メソッドを使用する必要があります。 (int の前後に 2 つのアンダースコアがあります)
class Student(object): def __init__(self, name, score): self.name = name self.score = scor >>> bart = Student('Bart Simpson', 59) >>> bart.name 'Bart Simpson' >>> bart.score 59
クラスを定義する際、既存のクラスを継承することができ、新たに作成したクラスをサブクラス(Subclass)、継承したクラスを基底クラスまたは親クラスと呼びます。クラス(ベースクラス、スーパークラス)。継承の利点は、親クラスのすべての機能を取得できることです。サブクラスの場合は、親クラスに基づいて書き続けることができるため、より便利です。
class Person(object): def idea(self): print('study is happy')class Liu(Person): pass liu =Liu()liu.idea study is happyもちろん、サブクラスが親クラスと同じメソッドがある場合、親クラスのメソッドを自動的にオーバーライドします。 ポリモーフィズム: 異なるオブジェクトが同じメソッドの異なるアクションに応答する
>>>class Nick1: def name(self): print("我是1") >>>class Nick2: def name(self): print("我是2") >>>a = Nick1() >>>b = Nick2() >>>a.name 我是1 >>>b.name 我是2使用されている関数名は同じですが、実装は異なります。
def run(animal): animal.run() animal.run() >>> run(Animal()) Animal is running... Animal is running... >>> run_twice(Dog()) Dog is running... Dog is running...ポリモーフィズムの利点は、Dog または他の動物を渡す必要がある場合、Dog はすべて Animal タイプであるため、Animal タイプを受け取るだけで済み、Animal タイプに従って動作することです。 Animal 型には run() メソッドがあるため、渡された型は、Animal クラスまたはサブクラスである限り、実際の型の run() メソッドを自動的に呼び出します。これがポリモーフィズムです。
[おすすめコース: Python ビデオ チュートリアル
]###以上が【Python学習】オブジェクト指向プログラミングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。