1. クラス (class Dog(object)) を定義する --> インスタンス化 (d = Dog())
2.
3. self.name = name クラスの属性、メンバー変数
4. def Say_hi()クラスのメソッド、動的属性
class Role(object):
def __init__(self, name, role, weapon, life_value=100, money=15000):
self.name = name
self.role = role
self.weapon = weapon
self.life_value = life_value
self.money = money
def shot(self):
print("%s is shooting..." % self.name)
def got_shot(self):
print("ah...,%s got shot..." % self.name)
def buy_gun(self, gun_name):
print("%s just bought %s" % (self.name,gun_name))
r1 = Role('Alex', 'police', 'AK47') # 生成一个角色
r2 = Role('Jack', 'terrorist', 'B22') # 生成一个角色
r1.shot() # 调用shot 方法 r2.buy_gun('B13') # 调用 buy_gun的方法并传参 print(r1.role) # 打印类的属性 # 输出 Alex is shooting... Jack just bought B13 police
r2.buy_gun('B13') print(r2.weapon) # 输出 Jack just bought B13 B22 # 可以发现武器依然是 B22
def buy_gun(self, gun_name): print("%s just bought %s" % (self.name, gun_name)) self.weapon = gun_name # 在方法内改变属性 r2.buy_gun('B13') print(r2.weapon) #输出 Jack just bought B13 B13 # 可以发现武器已经改变
3.2. getメソッドはプライベートプロパティにアクセスします
プライベートプロパティには外部から直接アクセスすることはできませんが、クラス内からはアクセスできるので、プライベートプロパティを取得するメソッドを定義できます。class Person(object): def __init__(self, name, job, phone, address): self.name = name self.job = job self.phone = phone self.__address = address # 定义一个私有属性 def sayhi(self): print("hell,%s" % self.name) p1 = Person('Bigberg', 'Doctor', '8833421', 'hz') print(p1.name) print(p1.__address) # 访问私有属性 # 输出 Bigberg File "G:/python/untitled/study6/类的私有属性.py", line 17, in <module> print(p1.__address) AttributeError: 'Person' object has no attribute '__address'
class Person(object): def __init__(self, name, job, phone, address): self.name = name self.job = job self.phone = phone self.__address = address def get_private(self): return self.__address def sayhi(self): print("hell,%s" % self.name) p1 = Person('Bigberg', 'Doctor', '8833421', 'hz') res = p1.get_private() print(res) # 输出 hz
1. 継承: サブクラスが親クラスの特性を継承する機能。これは、オブジェクト指向プログラミング手法の共有を具体化して拡張し、同じタイプのオブジェクトがデータとプログラム コードを共有できるようにして、プログラムの再利用性を向上させます。親クラスは、さらに定義して新しいクラスを派生できるクラスであり、サブクラスは、他のクラスを出発点として使用し、より具体的な特性を定義することによって確立される新しいクラスです。 2. ポリモーフィズム: 一部の関連クラスには同じ名前のメソッドが含まれていますが、メソッドの内容は異なる場合があります。どちらを呼び出すかは、オブジェクトのクラスに基づいて実行時に決定され、同じメッセージが異なるオブジェクトによって受信されると、異なるアクションが発生する可能性があります。 3. 抽象化: クラスまたはオブジェクトに関する他の情報を処理せずに、クラスまたはオブジェクトの特徴を抽出します。
4. 概要
2. プライベート属性への必須アクセス: オブジェクト名._クラス名__属性名 (d._dog__sex)
3.外部読み取り専用インターフェイスアクセスを提供します:
def get_sex(self):
return self.__sex
以上がクラスと属性の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。