Python第四課---オブジェクト向けプログラミング

1833 ワード

クラスとインスタンス
クラスはオブジェクトの定義であり,オブジェクトの様々な情報が含まれており,一連の方法を定義している.
#   ,object       ,      object
class opp(object):
      def __init__(self,name,age):
            self.name=name
            self.age=age
      #    
      def show():
            print("hello world")
#   
#   
a=opp("xiaoming",12)
b=opp("xiaohua",13)
#    
print(a.name)
print(b.age)
#    
a.show()

クラス属性
C.__name__      
C.__doc__        
C.__dict__     
C.__module__       

継承(サブクラス)
子类は父类の持つ方法を受け継ぐことができて、通俗的に、富二代は何もしないで父の残した遗产があって、子类は父类のすべての机能を持っています.サブクラスの作成
#    opp
class Children(opp):
       #      
       def __init__(self,name,age,id):
               self.name=name
               self.age=age
               self.id=id
       #      
       def show():
               print ("hello,child")
       #      
       def love(self,nm):
               print("I love you")
               self.lvname=nm
               print("I love %s",self.lvname)

パッヶージ
カプセル化は内部の論理を隠すことができ、オブジェクトは呼び出し方法によって、内部がどのように実現されているかにかかわらず
class  Student(object):
      def __init__(self,name,age,score):
          self.name=name
          self.age=age
          self.score=score
      #             
      def print_score(self):
          print("%s:%s",self.name,self.score)
#      
s=Student("xiaohua",12,90)
s.print_score()

プライベート属性
上の例ではname,ageなどはオブジェクトの属性であるが,通常はコードをより丈夫にするために内部の属性に外部からアクセスしたり修正したりしたくないため,プライベート属性がある.
class Student(object):
        def __init__(self,name,age,score):
              #      
              self.__name=name
              self.__age=age
              self.__score=score

上記の例では、プライベート属性にアクセスしようとすると、アクセス制限を受けているとエラーが発生します.