オブジェクト指向のPythonベースの基本的な概念

クラス(クラス)とオブジェクト(物体)を用いて、Pythonは、オブジェクト指向プログラミング(オブジェクト指向プログラミングは、OOPをいいます)。

再利用性の向上を目的とした主要なオブジェクト指向プログラム。我々は、オブジェクト指向プログラミングのように早期にカットされている理由は、Pythonの全体のコンセプトは、オブジェクトベースであるということです。OOPは、Pythonを学ぶのさらなる理解するための鍵です。

以下は、オブジェクト指向、分類に基づいての理解です。

 

カテゴリに分類同様のオブジェクト、


 

人間の認知では、同様のことは、性質に応じて分類し、カテゴリ名になります。例えば、一般的な属性の鳥の羽は、子孫を産卵することにより、そこにあります。いずれか1羽の特定の鳥は、プロトタイプに基づいて鳥です。

これは、オブジェクト指向よりも人間の認知プロセスをシミュレートすることです。それはクールに聞こえるため、Python言語では、私たちは言った、「何か」と呼ばれるオブジェクト(オブジェクト)。

 

鳥の定義

クラス鳥(オブジェクト):
    have_feather = Trueの
    way_of_reproduction = '卵が先か'

  

私たちは、それが鳥(鳥)で、カテゴリ(クラス)を定義します。このアナロジーに属する文ブロックでは、我々は2つの変数を定義し、これらの二つの変数に対応する、羽(have_feather)、再生(way_of_reproduction)のモードがあるがある私たちは、属性(属性)と述べました。私たちは、質問1として記録し、ブラケットとその内容を話すことはありません。

 

私は鶏を上げる場合は、夏と呼ばれます。それはオブジェクトであり、鳥に帰属します。上記で定義されたクラスを使用します:

夏=鳥()
印刷summer.way_of_reproduction

  

第1貫通オブジェクトを作成し、夏には、鳥のオブジェクトクラスの記述である、夏鳥がクラス属性を持つ、プロパティへの参照がオブジェクトによって行われる。プロパティ(object.attribute)の形での。

 

貧しい夏、あなたが商品の毛深い卵の生産をしている、それは非常にデリケートです。

 

アクション


私たちはカテゴリによって認識属性とき毎日認知、時々この事に基づいて、カテゴリを区別するために行うことができます。例えば、鳥が移動します。このように、カテゴリや地域の住宅の鳥を分離しました。これらのアクションは、位置に変更するなど、モバイルリードなどいくつかの結果を、もたらすでしょう。

この「行為」プロパティ・メソッド(方法)の一部。Pythonは内部クラスで定義された関数である、方法を説明します。

复制代码
クラスバード(オブジェクト):
    have_feather =真
    way_of_reproduction = '卵' 
    DEF(自己、DX、DY)を移動:
        ポジション= [0,0] 
        の位置[0] =ポジション[0] + DX 
        位置[1] =ポジション[1] + DYの
        復帰位置

夏=バード()
印刷'移動後:'、summer.move(5,8)
复制代码

  

私たちは、鳥このカテゴリを再定義しました。鳥は、method属性は、移動の動きを表明することにある追加します。(私はこの方法が愚かであることを認め、あなたは次の講義の方法を読んだ後、興味深いのいくつかを定義することができます)

(そのパラメータが自己を持って、それはオブジェクト自体への私達の参照の便宜のためである。最初の引数は次の中で展開話すだろうかかわらず、自己に関連するコンテンツを使用するか否かの、自己である必要があります)

 

他の二つのパラメータ、DX、DYは、二つの方向X、Yの移動距離を表します。移動方法は、最終的に前に位置計算を返します。

移動するための最後の呼び出しは、我々は2つのパラメータのみのDXとDYを渡されると、(内部使用のみのための自己ので)自己引数を渡す必要はありません。

 

私の夏は、実行することができます。

 

サブクラス


カテゴリー自体はさらにサブクラスに分けることができます

 

例えば、鳥はさらに、鶏、ガチョウ、オリオールに分けることができます。

OOPでは、我々は、継承(継承)を介して、これらの概念を表現します。

复制代码
クラスチキン(鳥):
    way_of_move =徒歩" 
    possible_in_KFC = Trueの

クラスオリオール(鳥):
    way_of_move = '飛ぶ' 
    possible_in_KFC = Falseの

夏=チキン()
印刷summer.have_featherの
印刷summer.move(5,8)
复制代码

  

鶏肉(チキン)クラスの新しい定義は、2つの属性が追加されます:KFCに見いだすことができる移動(way_of_moveを)、(possible_in_KFC)

ときにクラス定義、鳥用ブラケット。これは、鶏は鶏の鳥から継承サブクラスの鳥(鳥)に属する、を示しています。当然のことながら、鳥チキンは、親クラスです。鶏は鳥のすべての属性をお楽しみいただけます。私は夏は鶏で宣言しますが、それは親クラスの継承プロパティを使用して楽しんだ(どちらかの変数やメソッドはhave_feather移動属性プロパティー)

 

オリオール(オリオール)新しく定義されたクラスは、また鳥から継承されました。あなたはオリオールオブジェクトを作成すると、自動的に鳥の特性を有しています。

 

継承システムによって、我々はプログラムや繰り返し文の情報の重複を減らすことができます。我々は2つのクラスを定義した場合、かなりの鳥から継承されたよりも、鳥は鶏とオリオールクラスの定義に入力される属性が必要です。全体の工程が複雑になり、従って、オブジェクト指向のプログラムは、再利用性を向上させることができます。

(カッコ内の先頭1の質問には、オブジェクトのブラケットは、このクラスを示す)の端部に来る(親を持たない場合、オブジェクト)

 

物事の分類種類は、私たちの祖先から始まって、世界を理解するために、我々はこの認知プロセスの実施であり、オブジェクト指向の考え方は、人間の癖に沿ったものです。いわゆるプロセス指向、思考機械のより、次のステートメントを再び実行しています。オブジェクト指向プログラミング、我々はより簡単に心の中で、複雑な考えを表現することができます。

 

概要


プロパティは、どの(クラスとして分類されたオブジェクト)に応じて分類され

これは、操作を示す属性であります

親子関係クラス - 親を説明するための継承。サブクラスは、自動的に親クラスのすべての属性を持っています。

自己が作成したクラスの定義に基づいてオブジェクトを表します。

 

オブジェクトの確立:オブジェクト名=クラス名()

オブジェクト属性への参照:object.attribute

おすすめ

転載: www.cnblogs.com/jianaer/p/11785994.html