Python.use(better) #Calculator: step02b -- class Calculator

記事一覧 Python.use(better)《Python3.1》《復刻版》

class Calculator

《著》森こねこ、小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28

課題を作成する過程を通して「プログラミング」の理解を深めます。
Smalltalk-80 で作成した例題を、Python3.1 で再構成しました。

  • Smalltalk a la carte #02, 電卓(デスクトップ), 1988, 1992, 1995.


《移動中です》

class Calculator:
    def __init__(self):
        self.view = Plate()
        self.op  = ""
        self.acc = 0
        self.reset()

    def __repr__(self):    # ... same as last time

    def __str__(self):
        s = "".join(self.reg)
        return s if s else "0"

    ## ----------------------------------------
    def _changed(self):    # ... same as last time
        
    def _update(self):
        self.view.display(str(self))

    ## ----------------------------------------
    def reset(self):       # ... same as last time
        
    def clear(self):
        self.reset()
        self.acc = 0
        self._changed()

    def append(self, value):    # ... same as last time        
    def eval(self):             # ... same as last time        
    def __call__(self, key):    # ... same as last time
        
## ----------------------------------------
class Plate:
    def display(self, s):
        print(s)
    
## ----------------------------------------
class Key:            # ... same as last time        
class NumKey(Key):    # ... same as last time        
class OpKey(Key):     # ... same as last time
        
class ClrKey(Key):
    def __call__(self):
        return self.calculator.clear()

TOP


関連記事

Last updated♪2010/02/01