参考答案:
(1)implements
(2)WorkExperience obj = new WorkExperience()
(3)implements
(4)(WorkExperience)work.Clone()
(5) new Resume(this.work)
(6)(Resume)a.Clone()
详细解析:
本题考查原型模型的概念及应用。
原型模型的主要思想: 先借用已有系统作为原型模型,通过“样品”不断改进,使得最后的产品就是用户所需要的。 原型模型通过向用户提供原型获取用户的反馈,使开发出的软件能够真正反映用户的需求。同时,原型模型采用逐步求精的方法完善原型,使得原型能够“快速”开发,避免了像瀑布模型一样在冗长的开发过程中难以对用户的反馈作出快速的响应。相对瀑布模型而言,原型模型更符合人们开发软件的习惯,使目前较流行的一种实用软件生存期模型。
所有java类都继承自java.lang.Object,而object类提供一个clone()方法,可以将一个java对象复制一份。因此在java中可以直接使用Object提供的clone()方法来实现对象的克隆。能够实现克隆的java类必须实现一个标识接口Cloneable,表示这个java支持复制。
题中WorkExperience类和Resume类需要实现Cloneable接口,故(1)和(3)为implements,WorkExperience中需要实现Clone()方法,并将自身复制一份,有下面代码可知(2)为WorkExperience obj = new WorkExperience()。Resume类中的私有构造方法实现WorkExperience深复制,故(4)中为(WorkExperience)work.clone(),而Resume类中Clone方法实现自身的复制,故(5)中为new Resume(this.work)。
在main中实现Resume b对a的复制,故(6)中为(Resume)a.Clone()。