クラス概念
class Parent:
color = “クラス変数”
def __init__(self, name, age, ..):
self.name = name
self.age = age
def bark(self, ..):
print(f”{self.name}は吠えます”)
class Child(Parent):
def run(self,speed):
return f”{self.name} run at {speed} km/h”
dog = Parent(“ポチ”,5)
print(dog.name) >>>ポチ
print(dog.bark())
【インスタンス】
classは設計図であり、そこからinstance(具体的な製品)をつくる
【__init__メソッド】
クラスからインスタンスをつくるときに自動的に呼び出される
【self】
インスタンス自身を指す引数
【クラス変数】
すべてのインスタンス間で共有される。
そのため、ひとつのインスタンスでクラス変数を変更すると、他のすべてのインスタンスに影響する
【インスタンス変数(今回はnameとage)】
一つのインスタンスでnameを変更しても、他のインスタンスに影響しない
【クラスの継承】
Childクラスはcolor属性とnameとageを継承している
そのため、Childクラス内でnameを定義しなくても使える
【カプセル化】
class ClassName:
def __init__(self,name,age):
self.__name = name
self.__age = age
def method(self, amount):
self.__age += amount
def method2(self, amount):
self.__age -= amount
__name変数と__age変数はクラスの外部から直接アクセスできない
methodメソッドやmethod2メソッドを通じて、その変数の値を間接的に操作することはできる
カプセル化することで、データの予期しない変更を防ぐことができる
BACK