Pythonのお勉強 Part14
■ このスレッドは過去ログ倉庫に格納されています
0199Python初心者
2006/10/24(火) 16:50:01のカプセル化が甘い。下記の「なんでも有りスタイル」は
「そのようにもコーディングが可能」と捉えるべきでしょうか?
それとも「これが防げない…」と捉えるべきでしょうか?
class PythonJoke :
joke = 'Yadaa! '
def __init__(self,str):
self.name = str
def say_joke(self):
print PythonJoke.joke + self.name
#いちいちPythonJoke.はまあ良しとして
pj = PythonJoke('Ruby')
pj.say_joke() #ここまではOK!
#クラス外でインスタンスフィールド作成?
pj.greeting = 'Kutabaree '
print pj.greeting
#クラス外でインスタンスメソッド作成?
import sys
pj.jodan = (lambda x=pj.greeting + pj.name + '\n':
sys.stdout.write(x))
pj.jodan()
#さらにクラス属性さえもクラス外で変更できる?
PythonJoke.joke='Iyaanee! Perl'
print PythonJoke.joke
OP->PythonJoke:
Yadaa! Ruby
Kutabaree
Kutabaree Ruby
Iyaanee! Perl
■ このスレッドは過去ログ倉庫に格納されています