Pythonのオブジェクト指向(1)_予備的な理解

オブジェクト指向

プロセス指向のプログラミングと比べて2つのオブジェクト指向の機能

図1に示すように、コードの再利用性を低減します。
2、コードの可読性を向上させます。

オブジェクト指向プログラミングの利点

1。あなたのコードがより分かりやすく、より合理化を行うために同様の機能を機能クラスの集合である
問題で、神の斜視外観を持つように、2オブジェクト指向、オブジェクトが特定のテンプレートからインスタンス化されます。

クラス構造

クラスは、クラスを定義し、同じキーワードDEFの使用です。
人間は、クラス名の一種であるクラス名はキャメル(キャメルケース)スタイルの命名を使用し、先頭にアンダースコアプライベートクラスが利用可能大文字。
2つの部分に分割される一般的な方向のクラス構造
静的変数。
動的な方法

クラス名操作の静的プロパティ

まず、コンテンツビュークラスのすべて:クラス名.__ dict__に方法。
第二に、ポイントアウトパラメータまたはあなたが望む方法によって普遍ポイント

ダイナミックな操作

提供される2つの特別な方法に加えて:静的クラスメソッドへの方法は、この方法は、一般クラスのクラス名で動作しません。

class Human:
    """
    此类主要是构建人类
    """
    mind = '有思想'  # 第一部分:静态属性 属性 静态变量 静态字段
    dic = {}
    l1 = []
    def work(self): # 第二部分:方法 函数 动态属性
        # print(self)
        print('人类会工作')
    def tools(self):
        print('人类会使用工具')

Human.work(111)
Human.tools(111)
下面可以做,但不用。
Human.__dict__['work'](111)

オブジェクト説明

オブジェクトは、限り()を持つクラス名として、クラスの外にあるプロセスの一例であり、これは、オブジェクトをインスタンス化します。

オブジェクトの合計をインスタンス化し、三つのことがありました

1は、メモリ内のオブジェクト・スペースを開きました。
図2は、自動的に実行されるクラスの__init__方法、及び対象空間(メモリアドレス)__init__メソッド第1位置パラメータ自己を通過しました。
図3は、__init__メソッドで自己を通じてオブジェクト空間に属性を追加します。

オブジェクト・クラスの動作方法

この方法は、一般的に、オブジェクト上のクラス(外側の、静的メソッドのうちクラスメソッド)、およびこれらの方法のオブジェクトインプリメンテーションによって自動的にオブジェクト・スペース内のメソッドに渡された自己パラメータです。

何自己のですか?

実際には、自己のクラスメソッド(関数)第1位置パラメータではなく、インタプリタは、自動的にオブジェクトのパス自己のこの関数を呼び出します。だから我々は、自己を提供するクラスの大会の最初の引数、このオブジェクトの代表です。

クラスオブジェクトの複数インスタンス化することができます

おすすめ

転載: www.cnblogs.com/SkyRabbit/p/11317667.html