A.オブジェクト指向の概念
オブジェクト指向プログラミング(オブジェクト指向プログラミング、OOPをいう)は、パッケージングコードする方法であります
なぜオブジェクト指向している:より良い実世界の物事をシミュレートするために、機能やデータとコード・ブロック(機能)の説明は、一緒にパッケージ
パッケージ、パッケージレベルの文である機能ブロック、などの一般的なパッケージ、例えば、データが簡単なパッケージ、データパッケージレベルで混乱のリストを、スローされます。
クラスの人: #たとえば、人々は、属性、名前、性別、年齢などの多数持っている 名前を= 「ミュウツー」 セックス = 「M 」 年齢 = 21 #人々は、いくつかの行動アクションまたはメソッド持っDEF RUN(セルフ): 印刷(「人が実行されます")#実行されるDEFの店(セルフ): 印刷(" 人々が買い物を")#ちゃうショッピングDEF SLEEP(セルフ): 印刷(" 人はベッドに行きます")#ちゃうスリープ
オブジェクト指向、一般的な用語が含まれます:
- クラス:あなたはそれを具体的な例を無制限に作成することができ、テンプレートを理解することができます。例えば、前亀カメの調製を使用すると、カメの特性の異なるさまざまを表現するためにインスタンスを無制限に作成することができ、それを通してのみ、この種を、(このプロセスはクラスのインスタンスも公知である)で表されます。
- オブジェクト:クラスと直接(また、オブジェクトとしても知られる)によってクラスのインスタンスを作成するために使用できません使用することができます。それは、人々が使用するために、使用することができます車(オブジェクト)を描画することで作成されませ自体(クラス)との描画、ビット車と車の図面との関係のようなものです。
- プロパティ:属性と呼ばれるクラスのすべての変数。たとえば、このクラスを亀、にbodyColor、footNum、重量は、hasShellこのクラスは、プロパティによって所有されています。
- 方法:一般的にクラスメソッドと呼ばれるすべての機能。しかし、異なる機能の全ておよび少なくとも自己パラメータを含むクラスメソッドである(フォローアップについて詳細に説明します)。このクラスの例については、クラスカメ、クロール()、食べて()、スリープ()、保護()メソッドは、クラスメソッドを単独で使用することはできません、所有している、とだけオブジェクトクラスで使用することができます。
2。クラスの定義
Pythonの ためのクラスが使用される:(定義)クラスを作成し、一例として、オブジェクトをオブジェクトクラス、特定の機能のインスタンスを作成します。
クラスを作成する方法:
クラスのクラス名(単語間のシンボルを分離していない大文字の各単語の最初の文字):
ゼロ個以上のクラスのプロパティ...(ポイントの順不同で、あなたがお互いを呼び出すことができます)
ゼロ以上のクラスメソッド...(ポイントの順不同で、あなたがお互いを呼び出すことができます)
Pythonのクラスは、クラスの先頭(クラスキーワードは、クラス名とセクションを指す)と統一インデントクラス本体構造によって定義され、クラスメンバの本体は、二つのプロパティとメソッドです。あなたはクラスのすべての属性とメソッドを定義しない場合、そのクラスは空のクラスに相当し、空のクラスがない他の実行文であれば、パスステートメントは、プレースホルダとして使用することができます。空のクラスには意味がありません。しかし、それはより少ないです
クラスの定義
クラスPerson: 「」「」「これは学習PythonはPersonクラスを定義している」 次のクラスを定義する#属性 髪=「ブラック」 #を次のように言う方法を定義 :DEF(セルフ、コンテンツを)言う 印刷(コンテンツ)
クラス文は、クラスとして知られる、クラスのオブジェクトがインスタンス化されたプロセスを作成し、すでに作成したクラスを使用するために、手動でオブジェクトのクラスを作成する必要があるので、一つだけクラスを作成することができますが、オブジェクトクラスを作成することはできません。
構文:クラス名(パラメータ)
ケース:
Personクラスは、: ' '' 'Personクラスで定義された'' #2は、クラス変数を定義 名を= "ミュウツー" 年齢= "22である" DEF __init __(自己、名前、年齢): #2インスタンス変数定義され self.name =名前 self.age =年齢の 印刷(「この男の名前は:」、名前、「年齢:」、年齢) #言うインスタンスメソッドを定義します (セルフ、コンテンツを)言うDEF: 印刷(コンテンツ) #人物オブジェクト変数pに割り当てられた P =人物(「ミュウツー」、 22)
クラスのオブジェクトを使用して
#の角度クラス名 # #アクションクラスのstatic変数 #の #1、人のすべての内容.__ dict__にクエリクラス(いない追加、削除操作) #の印刷(人.__ dict__に) #の印刷(人.__ dictの__ [「信仰']) #人.__ dictの__ ['心'] ='無脳' #の印刷(人.__ dictの__ ['心「]) #ユニバーサル2、。すべてのものを備えた単一の変数CRUD内のクラス、ポイント #印刷(Person.mind) #印刷(Person.animal)#チェック ##によってPerson.money = 'マネーの利用' #Person.mind = 'ノーブレイン'チェンジ#の #デルPerson.mindの #の印刷(人。 __dict__) #1 #の メソッド#操作クラス(基本的に動作させるために、クラス名では動作しません。) #Person.work#(111) #1 #角度オブジェクト# #のRET =人()#1 +クラス名()この手順:プロセスの例(オブジェクトを作成するプロセス)、 #の オブジェクトをインスタンス化する#人()オブジェクトの例 #1 印刷(RET) #1 #1、限りクラス名+は、()オブジェクト、自動的に行うクラスの__init__メソッドを生成するように。 クラス人: 「」 ' クラスの本体の2つの部分:可変部分、方法(機能)の一部「」「 マインド = 」考える「 #の変数、静的変数、静的フィールドの 動物= 」高等動物「 信仰 = 」信仰" DEFの __init__ (セルフ、名前、年齢、趣味): self.name =名前 # Person.money = '使用のお金の' self.age = 年齢 self.hobby = ホビー DEFワーク(自己): #のメソッド、関数、動的変数の 印刷(' %Sが動作します... '%のself.name) DEF ショップ(セルフ): 印刷(「人間が消費することができます.... 」) #の視点クラス名 #の操作クラスの静的変数 #1、すべてのコンテンツ人.__ dict__にクエリクラス(操作)にはない追加および削除 #の印刷( .__ dict__に魔法の人) #印刷(人.__ dictの__ [ '信仰']) #人.__ dictの__ [ '心'] = '無脳' #印刷(人.__ dictの__ [ '心']) #2、ユニバーサル。単一の変数CRUD内のクラス、ユニバーサルポイントと #の印刷(Person.mind) #の印刷(Person.animal)#チェック ##によってPerson.money =「マネーの利用」 #Person.mind =「ノーブレイン」チェンジ#の #デルPerson.mindの #の印刷(人.__ dict__に) #のクラスを操作する方法(動作させるための基本的な必要性の名の下に労働者階級) #Person.work(111) #のオブジェクトのアングル #のRET =人( 'アレックス'、1000 'oldwomen')+#クラス名()この手順:プロセスの例(オブジェクトを作成するプロセス)、 #人()オブジェクトのインスタンスをインスタンス化するために、オブジェクト #1 プリント(RET) #1、クラス名+()はインスタンス(オブジェクト、オブジェクト空間)を生成 #2、自動的に行うクラスの__init__メソッド、オブジェクトの移動空間を__init__の自己引数に、 #被写体パッケージ3、対応するプロパティ。 #の印刷(RET .__ dict__にマジック) #角度オブジェクト #の操作対象のstatic変数 #1、__dict__すべてのコンテンツクエリオブジェクト #2、全能全能ポイント。 #印刷(ret.name)#チェック #の#175によるret.high = #デルret.nameが#パンクチャリング #ret.age =#73が変更された #の印刷(RET .__ dict__にマジック) #のオブジェクト操作静的クラス変数:のみクエリ。 #の印刷(ret.mind) #のオブジェクトは、(オブジェクトの実行方法によってではなく、クラス名で労働者階級)クラスのメソッドを呼び出す #のret.shop() #の印刷(RET)
上記のコードは、私自身の要約ですが、少し無知な感じは完全には理解していない、まだ、オブジェクト指向の力を学ぶために、私が見た映像を見ることです