2013-01-22 15:49:28 46486***(46486***) class A { B Parent; } class B:A { } 各位老大,看一看这样一个类的设计合理不? 2013-01-22 15:51:04 lingshuai(375372***) 这样必须得有前置声明,否则可能编译通不过。 2013-01-22 15:51:53 灯火阑珊(58727***) 这个很正常,组合模式 2013-01-22 15:53:14 46486***(46486***) 程序的本意好像是这样一个意思,A是基本元素,B也是一个元素,但是又是一个容器,可以包含A 2013-01-22 15:54:14 46486***(46486***) 也就是程序运行时首先要有一个B的实例,然后产生A的实例,他们的父项是B 2013-01-22 15:55:51 深圳-Stupig(503685***) 现在是父类依赖于子类 2013-01-22 15:55:56 小武哥(757611140) 容器是所包含对象的子类,逆天吧 2013-01-22 15:56:35 瑶妖(24165***) public abstract class Equipment {
private String name;
//实价
public abstract double netPrice();
//折扣价格
public abstract double discountPrice();
//增加部件方法
public boolean add(Equipment equipment) { return false; }
//删除部件方法
public boolean remove(Equipment equipment) { return false; }
//注意这里,这里就提供一种用于访问组合体类的部件方法。
public Iterator iter() { return null; }
public Equipment(final String name)
{ this.name=name; }
}
这个是 compsite 2013-01-22 15:56:37 46486***(46486***) 我感觉要加两个接口 interface iA
{
iB Parent;
}
interface iB:iA 2013-01-22 16:06:21 瑶妖(24165***) 感觉像 编译不过去的 组合 2013-01-22 16:06:21 46486***(46486***) interface iA;
interface iB:iA;
class A
{
iB Parent;
}
class B:A,iB
{
}
这样可以吗? 2013-01-22 16:06:52 海东青(33202***) 这个什么也不是,在基类(超类)中依赖子类的具体实现 2013-01-22 16:06:52 46486***(46486***) interface iA;
interface iB:iA;
class A:iA
{
iB Parent;
}
class B:A,iB { } 这样可以吗? 2013-01-22 16:08:36 海东青(33202***) class A
{
A Parent;
}
class B:A
{
} 2013-01-22 16:10:32 46486***(46486***) class x { arraylist items; a() { (A)items[1].Parent.xxx(); } } 2013-01-22 16:10:57 46486***(46486***) xxx()的方法在B类中实现 2013-01-22 16:11:12 46486***(46486***) x的代码根本编译不过去啊 2013-01-22 16:12:50 瑶妖(24165***) 成 编译器 的 测试程序了,看 编译器 纠错能力 [表情] 2013-01-22 16:25:59 潘加宇(3504847) 这个不对的