パスワードを忘れた? アカウント作成
900915 journal
Python

elderwandの日記: なんちゃってオブジェクト指向

日記 by elderwand

ここに書くほどのことでもないが、自己満足のために書いておく。

プログラミングしてると、モジュラー化というか、まとまった作業を別立ての関数(ぽいの)に仕立てたくなる。特に Python のようにインデントを強制される言語では、見た目にも深いインデントがかっこ悪いのでそうなる。

そうすると、こんどは関数で使う変数をグローバルにしたくなる。でないと、関数の引数とか戻り値とか、やたらと受け渡しが多くなって面倒くさい。ところが、ま、グローバル変数を使うのは、また別の意味でかっこ悪い。

そこで、別立て関数もメインもまとめて class にしてしまう。つまり、オブジェクト指向の導入である。グローバルにしたかった変数はここではメンバ変数である。(お、かっこいい)つまり、こんな感じでベタの手続きを class に変えることができる。

ベタ

a = 'blar'
b = 'foo'
print a + b

オブジェクト指向

class Adder:

        def __init__(self, a, b):
                self.a = a
                self.b = b

        def get_result(self):
                return self.a + self.b

if __name__ == '__main__':
        adder = Adder('blar', 'foo')
        print adder.get_result()

つまり、なんでもいいから、グローバル変数かっこわる、、、と思ったら、「オブジェクト指向」を使いましょう(なんちゃって)なのだ。

この議論は、elderwand (34630)によって ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...