カプセル化

  • はじめに オブジェクト指向プログラミングにおけるカプセル化について学びましょう。カプセル化は、クラス内のデータや処理を隠蔽し、外部から直接アクセスできないようにする仕組みです。では、二人の説明を見ていきましょう。
Gal Normal

カプセル化ってなに?

Geek Curious

クラス内のデータや処理を隠蔽して、外部から直接アクセスできないようにする仕組みだよね?

Gal Happy

そうなの!カプセル化を使うことで、クラスの内部構造を変更しても、外部からは影響を受けないようにできるの!

Gal Pleased

Pythonでは、属性やメソッドに _ (アンダースコア)や __ (ダブルアンダースコア)を付けて、カプセル化を実現するの。例えば、こんな感じ!

class BankAccount:
    def __init__(self, balance):
        self.__balance = balance

    def deposit(self, amount):
        self.__balance += amount

    def withdraw(self, amount):
        if amount <= self.__balance:
            self.__balance -= amount
        else:
            print('Insufficient funds')

    def get_balance(self):
        return self.__balance
Geek Happy

なるほど、属性やメソッドに ___ を付けて、カプセル化を実現するんだね!

Gal Happy

そうなの!これで、外部から直接アクセスできないようになって、クラス内部のデータや処理が保護されるの!

Gal Pleased

外部からデータにアクセスするために、 ゲッターセッター というメソッドを使うこともあるよ!

  • おわりに オブジェクト指向プログラミングのカプセル化では、クラス内のデータや処理を隠蔽し、外部から直接アクセスできないようにします。これで、クラスの内部構造を保護し、安全なコードが書けるようになりましたね!😀