日期:2014-05-17  浏览次数:21234 次

类树设计
计算机(类名C)由CPU,显示器(M),硬盘(D)组成
计算机又可分为服务器(SC)和单机(PC)
CPU分为单核(CPU1),双核(CPU2),四核(CPU4)
假定SC只能使用CPU4,PC只能使用CPU1或CPU2,即
C=CPU+M+D
PC=CPU1/CUP2+M+D
SC=CUP4+M+D
按说SC应该是C的继承类,但是以上设计SC并非C的继承类
相比而言,PC应该更复杂一些

------解决方案--------------------
class M { }
class D { }
class CPU { }
interface IPCCPU { }
class CPU1 : CPU, IPCCPU { }
class CPU2 : CPU, IPCCPU { }
class CPU4 : CPU { }
class C
{
    public CPU cpu;
    public M monitor;
    public D harddriver;
}
class SC : C
{
    public SC(CPU4 _cpu) { this.cpu = _cpu; }
}
class PC : C
{
    public SC(IPCCPU _cpu) { this.cpu = _cpu as CPU; }
}