JAVA 求解答

来源:百度知道 编辑:UC知道 时间:2024/05/29 04:50:29
二、 改写主板装配程序
目的:练习使用集合类和向下转型(downcasting),步骤如下:
1. 参考考题pc目录下的代码
2. 找到MainBoard类,将其中的属性PCI[]、USB[]均改为List类型(实现类使用java.util.ArrayList),其它的代码也需要做出相应调整,比如循环访问数组要改为迭代访问集合
3. 改写Assembler,使其以List加载元素的方式来加载PCI和USB设备
** 主板 */
public class MainBoard {
/** 主板上可插入多个PCI卡(符合PCI规范的设备) */
private PCI[] pciCards;
/** 主板上可插入多个USB设备(符合USB2.0规范的设备) */
private USB[] usbDevices;
public MainBoard(PCI[] pciCards) {
this.pciCards = pciCards;
}
public MainBoard(PCI[] pciCards, USB[] usbDevices) {
this(pciCards);//等价于this.pciCards = pciCards;
this.usbDevices = usbDevices;
}
/** 启动所有的PCI卡 */
public void startPCICard() {
for (int i = 0; i < pciCards.length; i++) {
pciCards[i].start();
/** 禁用所有的PCI卡 */
public void stopPCICard() {
for (int i = 0; i < pciCards.length; i++) {
pciCards[i].sto

import java.util.Iterator;
import java.util.List;

public class MainBoard {
/** 主板上可插入多个PCI卡(符合PCI规范的设备) */
private List pciCards;

/** 主板上可插入多个USB设备(符合USB2.0规范的设备) */
private List usbDevices;

public MainBoard(List pciCards) {
this.pciCards = pciCards;
}

public MainBoard(List pciCards, List usbDevices) {
this(pciCards);// 等价于this.pciCards = pciCards;
this.usbDevices = usbDevices;
}

/** 启动所有的PCI卡 */
public void startPCICard() {
for (Iterator it=pciCards.iterator(); it.hasNext();) {
PCI pci = (PCI)it.next();
pci.start();
}
}

/** 禁用所有的PCI卡 */
public void stopPCICard() {
for (Iterator it=pciCards.iterator(); it.hasNext();) {
PCI pci = (PCI)it.next();
pci.stop();
}
}

/** 安装所有的USB设备 */
public void installUSBDevices() {
for (Iterator it=usbDevices.iterator();