zoukankan
html css js c++ java
第6周Java学习任务
一.阅读ManagerTest
1.UML图 :
2.e.getSalary()到底是调用Manager类的还是Employee类的getSalary方法?
stuff[0]中存的是Manager对象,在调用e.getSalary()时,先调用的是Manager类中的getSalary方法,该方法中又含有调用父类的getSalary的方法,两个都有调用
3.Manager类的构造函数使用super调用父类的构造函数实现了代码复用,这样有什么好处?为什么不把父类构造函数中的相关代码复制粘贴到Manager的构造函数中,这样看起来不是更直观吗?
实现了代码的复用,让代码更精简
4.该代码中哪里体现了多态的好处?请说明。
在Manager类中的getSalary方法中只需要对父类方法进行处理即可。大大提高程序的可复用性
在Manager类中setBonus的方法扩充了Employee的内容,体现了多态的扩充性
二.阅读GuessGame抽象类的设计与使用源代码
2.1 Guess改造前代码很简单,而改造后的代码使用了抽象类、抽象方法,看起来更复杂,这样的改造到底有什么好处呢?
改造为抽象类可以减少类与类之间的关联度
2.2 GuessGame(改造后).java中有抽象方法与非抽象方法,你觉得抽象类中什么样的方法应该声明为abstract,什么方法不需要声明为abstract直接实现即可。
对于抽象类的子类来讲,每个子类都有同样的一个行为,但是有不同的表现形式,这样的方法就应该声###明为抽象方法,让子类们在自己的类实现,
对于那些抽象类的子类都有的一个行为且表现形式也相同的就不必声明为抽象方法
2.3 重要:在这个例子中,变化的是什么,不变的是什么?尝试结合abstract等概念进行说明。
变化的是使用抽象类和抽象方法以及继承将main中的代码分区在不同的地方实现,,不变的是代码的最终执行结果,
查看全文
相关阅读:
ORA12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
ORACLE MERGE 介绍
【转】三大UML建模工具Visio、Rational Rose、PowerDesign的区别
ORALC的STDDEV、STDDEV_POP、STDDEV_SAMP等函数
SQL语言艺术实践篇——局外思考
数据分析方法
ORACLE FLASHBACK TABLE 的一个有趣问题
avalon有关ViewModel与Model的同步问题
迷你MVVM框架 avalonjs 0.73发布
将一个节点集合以最少的步骤转换为另一个节点集合
原文地址:https://www.cnblogs.com/FOXES/p/9786760.html
最新文章
三大数据库对比研究系列——数据类型
ORACLE对象大小写问题
ORACLE 常用函数——字符函数
【转】软件开发工具介绍之 6.Web开发工具
SQL 2000自定义函数调用GETDATE()报错
ORA01033: ORACLE initialization or shutdown in progress
SQL SERVER 表最小行的一个纠结问题
数据库重构小工具介绍
ORACLE用户管理
ORACLE 常用函数——转换函数
热门文章
ORACLE 常用函数——日期/时间函数
计算机改名引发的ORA12541: TNS无监听程序错误
ORACLE SQL*PLUS 命令大全
(ORACLE)查看分区表的相关信息
ORACLE 常用函数——聚合函数
必须在配置中注册 WebResource.axd 处理程序错误的解决方法
数据库重构《Refactoring DataBase Evolutionary DataBase Design》介绍
ORACLE SQL脚本能否修改字段名称?
邪恶的PLS00103错误提示
Task Scheduler 介绍
Copyright © 2011-2022 走看看