python クラスを作成する

pythonで、クラスを作成するサンプルコードを記述してます。pythonのバージョンは3.8.5を使用してます。
環境
- OS windows10 pro 64bit
- python 3.8.5
クラスの作成
pythonの場合、クラスは以下のように作成します。
class Hoge:
# コンストラクタ _を前後に2つ
def __init__(self):
print("コンストラクタが実行されました")
self.name = ""
# pythonではメソッドには引数が必要 最初の引数は必ずselfにする
def getName(self):
return self.name
# メソッド 最初の引数は必ずselfにする
def setName(self, name):
self.name = name
# インスタンスを生成
foo = Hoge()
# コンストラクタが実行されました
# setName()メソッド実行
foo.setName("suzuki")
# getName()メソッド実行
print(foo.getName())
# suzuki
また、pythonは、privateのアクセス修飾子がないため、これもコンストラクタのように「__」を利用します。
class Hoge:
# コンストラクタ _を前後に2つ
def __init__(self):
self.name = "mebee"
self.__name = "private"
# pythonではメソッドには引数が必要
def msg(self):
print ('msg')
self.__msg() # privateメソッドを実行
# private
def __msg(self):
print ('__msg')
# インスタンスを生成
foo = Hoge()
# コンストラクタが実行されました
# msg()メソッド実行
foo.msg()
# msg
# __msg
# __msg()メソッド実行するとエラー
foo.__msg()
# AttributeError: 'hoge' object has no attribute '__msg'
# foo.nameを参照
print(foo.name)
# mebee
# foo.__nameを参照するとエラー
print(foo.__name)
# AttributeError: 'hoge' object has no attribute '__name'
-
前の記事
ASP.NET CoreでAPIを作成する 2021.03.06
-
次の記事
React.js ライブラリ「react-cool-form」を使ってフォームのバリデーションを実装する 2021.03.06
コメントを書く