オブジェクト指向プログラミングは、単にクラスとオブジェクトの使用に基づいています。すべてのコードはクラスとオブジェクトを通じて実装されます。プログラミングはオブジェクト指向プログラミングです。
オブジェクト指向の 3 つの主要な特徴: カプセル化、継承、ポリモーフィズム
最初にクラスを作成します
#使用class创建一个School类,类中有个student方法 class School: def student(self): pass a1=School()
1。カプセル化
1 . カプセル化: 特定のコンテンツを最初に場所にカプセル化し、必要に応じて呼び出します
class School: def __init__(self,name,age): #构造方法,创建对象是执行 self.name=name self.age=age#创建对象a1,a2a1=School("zhangsan",18) a2=School("lisi",18)
上記のコードはカプセル化の機能を実装し、それぞれの名前と年齢をそれぞれ self の name 属性と age 属性にカプセル化します。
クラスで定義された関数はメソッドと呼ばれ、__init__ を持つ関数はコンストラクターと呼ばれ、a1 と a2 オブジェクトの作成時に自動的に実行されます。
2. 呼び出し: 呼び出しには、オブジェクトを介した直接呼び出しと自分自身を介した間接呼び出しの 2 つの方法があります
オブジェクトを介した直接呼び出し
class School: def __init__(self,name,age): self.name=name self.age=age def student(self): print("name:%s,age:%s"%(self.name,self.age))#创建对象a1,a2a1=School("zhangsan",18) a2=School("lisi",18) print a1.name,a1.age print a2.name,a2.age#执行结果: zhangsan 18 lisi 18
自分自身を介した間接呼び出し
class School: def __init__(self,name,age): self.name=name self.age=age def student(self): print("name:%s,age:%s"%(self.name,self.age)) #创建对象a1,a2 a1=School("zhangsan",18) a2=School("lisi",18) #执行类中的方法时,通过self间接调用被封装的内容 a1.student() a2.student() #执行结果: #name:zhangsan,age:18 #name:lisi,age:18
2. 継承
#1. 継承: 派生クラス (サブクラス) はどちらも基本クラス (親クラス) のメソッドを継承でき、複数のクラスに共通のメソッドを抽出できます。サブクラスは親クラスを継承するだけでよく、各メソッドを 1 つずつ実装する必要はありません。クラスを継承していることを示すために、クラス名の後に括弧内に別のクラスを記述しますclass School: def __init__(self,name,age): self.name=name self.age=age def student(self): print("name:%s,age:%s"%(self.name,self.age)) def classroom(self): print("%s去教室"%self.name) class SchoolA(School): #SchoolA继承School def __init__(self,name): self.name=name class SchoolB(SchoolA): #SchoolB继承SchoolA def __init__(self,name): self.name=name #创建对象a1 a1=SchoolA("zhangsan") a1.classroom() #创建对象a2 a2=SchoolB("lisi") a2.classroom() #执行结果: # zhangsan去教室 # lisi去教室
以上がPythonでオブジェクト指向プログラミングを行う方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。