一个Java的计算器

刚学java不久,写了一个简单的计算器顺便尝试一下面向对象的设计(说实话写了一半有点不想写了,不过写写停停还是写完了),发上来吧。
[img]http://dl.iteye.com/upload/attachment/217237/e4c6e4ae-b055-30e5-910b-ad2563baafdf.jpg[/img]
各种进制继承CalNumber类,如BinNum,DecNum

[img]http://dl.iteye.com/upload/attachment/217239/0c0fb7eb-9166-300e-918f-6efd9352bb84.jpg[/img]
计算方法继承CalMethod类,计算方法包括加减乘除等

[img]http://dl.iteye.com/upload/attachment/217241/242932b0-070c-34cf-8797-927dd947e3ab.jpg[/img]
CalStep类用于实现计算逻辑

[img]http://dl.iteye.com/upload/attachment/217243/aab319da-87ab-3c47-9a38-4ab88e9ad1db.jpg[/img]

CalControl用于控制计算器整体状态,如转换进制

[img]http://dl.iteye.com/upload/attachment/217245/19a59372-5e4a-3ef2-bfd6-93984e397d09.jpg[/img]

CalFrame用来实现其界面


第一次这么写程序,最后发现不少问题,如小数的处理,设计模式上也有些限欠缺。不过先这样吧。


总结一下写这个小程序的经验教训:

1、接口方法并不是越多越好,应力求精简。
2、每一层应尽量将自己负责的部分“做好”,不要将问题遗留给下一层。
3、对于有状态转移的的系统尽量使用状态模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值