クラス概念

Python

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