62,615
社区成员
发帖
与我相关
我的任务
分享
/* 修电脑的方法 */
abstract class waysOfRepairPC {
// 重装系统方法有很多, 所有方法统一抽象成一个抽象方法way(此处是根据楼主的意思写的, 细细想来应该是一个属性标识就可以, 子类中构造时赋予不同值)
public abstract void way();
}
class USBWay extends waysOfRepairPC {
// 第一种方法:U盘安装, 这是对抽象的安装系统方法的一个具体实现
public void way() {
System.out.println("U盘装系统");
}
}
class CDWay extends waysOfRepairPC {
// 第二种方法:光盘安装, 这是对抽象的安装系统方法的又一个具体实现
public void way() {
System.out.println("光盘装系统");
}
}
class GhostWay extends waysOfRepairPC {
// 第三种方法:Ghost安装, 这是对抽象的安装系统方法的最后一个具体实现
public void way() {
System.out.println("Ghost装系统");
}
}
/* 张三来修电脑问题, 这里不是继承关系, 而应该是合成关系 */
class Man {
private String name;
private waysOfRepairPC way;
public Man(String name, waysOfRepairPC way) {
this.name = name;
this.way = way;
}
}
public class Test {
public static void main(String[] args) {
Man zhangSan = new Man("zhangsan", new USBWay()); // 张三是一个修电脑的人, 他会的修电脑方法是U盘安装
Man liSi = new Man("lisi", new CDWay()); // 李四是一个修电脑的人, 他会的修电脑方法是光盘安装
}
}
我的理解 新毕业的程序员 有错的请各位指正
class 装系统
{
public abstract void 修电脑方法_U盘();
public abstract void 修电脑方法_光盘();
public abstract void 修电脑方法_ghost镜像();
}
如果用抽象,个人认为如下比较合适
class 装系统
{
public abstract void 修电脑方法();
}
然后U盘,光盘,ghost三种不同的实现类都继承 Class 装系统,分别实现修电脑方法()这个方法