ホームページ >バックエンド開発 >Python チュートリアル >Pythonでのオブジェクト指向プログラミング:はじめに
この記事では、Pythonのオブジェクト指向プログラミング(OOP)の実用的な紹介を提供します。 複雑な理論的詳細を掘り下げるのではなく、OOPの概念を実証することに焦点を当てます。 Statistaによると、開発者の間で4位にランクされているPythonの人気は、その汎用性と簡素化された構文を強調しているため、OOPを学習するのに最適です。
重要な概念:
oopはプログラミングパラダイムであり、コードを構築するための一連のガイドラインです。 それぞれが特定の機能と動作を持つオブジェクトを使用してシステムをモデル化します。オブジェクトには、データとメソッド(データに作用する手順、潜在的にパラメーターを使用して)が含まれています。 Java、c、c#、go、swiftなどの言語は、それぞれ独自の実装を備えています。 クラスとオブジェクト:
2匹の犬、マックスとPAXを検討してください。 それらは両方とも「犬」の概念のインスタンス(オブジェクト)です。 「犬」のコンセプト自体は、
クラスを使用してモデル化されています。 クラスは、オブジェクトを作成するためのテンプレート(属性とメソッド)を定義します。 これを説明するPythonコードは次のとおりです
メソッド(コンストラクター)は、オブジェクトの状態を初期化します。 は、現在のオブジェクトインスタンスを参照します。
メソッドは、オブジェクトの文字列表現を提供します。
<code class="language-python">class Dog: def __init__(self, name, breed): self.name = name self.breed = breed def __repr__(self): return f"Dog(name={self.name}, breed={self.breed})" max = Dog("Max", "Golden Retriever") pax = Dog("Pax", "Labrador") print(max) print(pax)</code>
__init__
新しいメソッドの定義:self
__repr__
メソッド:
アクセス修飾子:
Pythonは、命名規則(保護された単一のアンダースコアget_nickname)を使用してアクセス制限を提案しますが、他の言語のように厳密に強制しません。 属性への制御アクセスのためにGetterおよびSetterメソッドを使用することがベストプラクティスです。
<code class="language-python">class Dog: # ... (previous code) ... def get_nickname(self): return f"{self.name}, the {self.breed}" # ... (rest of the code) ...</code>継承:
継承はコードの再利用を促進します。サブクラスは、スーパークラス(親クラス)からの属性とメソッドを継承します。
例:Person
(親)およびStudent
、Professor
(子供):
<code class="language-python">class Dog: def __init__(self, name, breed): self.name = name self.breed = breed def __repr__(self): return f"Dog(name={self.name}, breed={self.breed})" max = Dog("Max", "Golden Retriever") pax = Dog("Pax", "Labrador") print(max) print(pax)</code>
サブクラスのsuper().__init__
呼び出しは、親クラスのコンストラクターを呼び出します。
多型:
多型により、異なるクラスのオブジェクトが同じ方法で独自の特定の方法で応答することができます。 メソッドオーバーロードとオーバーライド:メソッドオーバーロード(同じ名前で複数のメソッドがありますが、パラメーターが異なる)は、他の言語と同じ方法でPythonで直接サポートされていません。 メソッドオーバーライドでは、サブクラスがスーパークラスからメソッドの異なる実装を提供する場合、サポートされています。
結論:
この記事は、PythonのOOPの実用的な概要を提供しました。 クラス、オブジェクト、継承、および多型を理解することは、十分に構造化された、再利用可能な、保守可能なPythonコードを書くために重要です。 高度なOOPの概念と設計パターンのさらなる調査により、プログラミングスキルが向上します。
(記事で既にカバーされている情報の繰り返しであるため、簡単に省略されています。)以上がPythonでのオブジェクト指向プログラミング:はじめにの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。