|
+---------------------------+
| abstract Expression |<---------------------------------+ +---------------------------+ | +---------------------------+ | | abstract int evaluate() | | +---------------------------+ | ^ | | | | | ------------------------------------------------------- | | | | | +-----------------+ +---------------------+ +---------------------+ | | Number | | Plus | | Minus | | +-----------------+ +---------------------+ +---------------------+ | | int val | | Expression left |-+ | Expression left |-----+ +-----------------+ | Expression right |-+ | Expression right |-----+ | int evaluate() | +---------------------+ | +---------------------+ | +-----------------+ | int evaluate() | | | int evaluate() | | +---------------------+ | +---------------------+ | | | +------------------------------+ |
| 397 |
| 5 + 10 |
| 7 - 3 |
| 10 - 6 + 14
- 3 |