预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共24页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

面向对象程序设计实践公司应聘程序问题:请使用Java语言编写某计算器控制台程序,要求输入两个数和运算符号,得到运算结果计算器程序设计构思一计算器程序构思一计算器程序构思一续程序代码挑问题….?计算器程序构思二计算器程序构思二续面向对象编程(活字印刷,面向对象)面向对象编程(活字印刷,面向对象)先前程序问题总结: 客户的需求经常会发生改变,但先前的程序代码都需要重新来过,不容易维护,灵活性差,不容易扩展,更谈不上复用。 学习了面向对象程序设计,要考虑通过封装、继承和多态把程序的耦合度降低,传统印刷术的问题就在于把所有的字都刻在同一个版面上造成耦合度太高所致。 程序构思三:业务逻辑与界面逻辑的分开,降低耦合度,达到容易维护和扩展要求。 业务逻辑即计算器执行的运算 界面逻辑即用户与程序的交互 计算器程序构思三计算器程序构思三续计算器程序构思三续紧耦合VS松耦合 增加一个开根运算,需要在Operation类中增加一个if判断,进行分支判断。 问题是:增加一个平方根运算,却要加、减、乘、除都来参加,如果不小心将加法改成了减法,问题大了。计算器程序构思四计算器程序构思四续一计算器程序构思四续二计算器程序构思四续三计算器程序构思四续三简单工厂模式 如何去实例化运算类对象,一般方法是调用何种运算就实例该类的对象。 降低耦合度更好的方法应该考虑用一个单独的类来做这个创造实例的过程,称之为对象工厂类。计算器程序构思五(工厂类的实现)计算器程序构思五续(客户类的实现)