; } public void setHardDisk(XiJieHardDisk hardDisk) { this.hardDisk = hardDisk;...; //首先从硬盘获取数据 String data = hardDisk.get(); System.out.println("从硬盘上获取的数据是:"...hardDisk; private Cpu cpu; private Memory memory; //提供get 和 set 方法 public HardDisk...getHardDisk() { return hardDisk; } public void setHardDisk(HardDisk hardDisk) {...this.hardDisk = hardDisk; } public Cpu getCpu() { return cpu; } public void
) { this.hardDisk = hardDisk; } @Override public String toString() { return "...: " + hardDisk + "\n"; } Computer() { } Computer(String CPU, String GPU, String memory,...= memory; this.motherboard = motherboard; this.hardDisk = hardDisk; } }抽象建造者:/**...(String hardDisk) { this.hardDisk = hardDisk; return this; } //链式调用--------------...=" + this.hardDisk + ")"; }}静态内部类实际上充当建造者、指挥者的角色,创建对象时直接调用 实体.builder() 会生成该对象 然后调用set链式调用赋值。
它包含各个部件的属性: public class Computer { private String cpu; private String memory; private String hardDisk...; private String monitor; // 构造方法 public Computer(String cpu, String memory, String hardDisk..., String monitor) { this.cpu = cpu; this.memory = memory; this.hardDisk = hardDisk; this.monitor...) { this.hardDisk = hardDisk; return this; } @Override public ComputerBuilder setMonitor...return this; } @Override public Computer build() { return new Computer(cpu, memory, hardDisk
这里Jungle用外观模式来模拟该过程,该例子UML图如下: 3.1.子系统类 本例中一共有4个子系统,因此设计4个类:Memory、CPU、HardDisk和OS,并且每个子系统都有自己独立的流程。...{ public: HardDisk(){} void read(){ printf("…………读取硬盘……\n"); } }; //子系统:操作系统 class OS { public...= new HardDisk(); os = new OS(); } void powerOn(){ printf("正在开机……\n"); memory->selfCheck...(); cpu->run(); hardDisk->read(); os->load(); printf("开机完成!...\n"); } private: Memory *memory; CPU *cpu; HardDisk *hardDisk; OS *os; }; 3.3.客户端代码示例 #include
{ 6 public static void main(String args[] ) 7 { 8 CPU ccp= new CPU(); 9 HardDisk...hhd=new HardDisk(); 10 PC pc =new PC(); 11 ccp.setSpeed(2200); 12 hhd.setAmount...} 17 18 } 1 /* 2 PC.java 3 */ 4 package test; 5 public class PC { 6 CPU cpu ; 7 HardDisk...HD ; 8 void setCPU(CPU cp) { cpu=cp; } 9 void setHardDisk(HardDisk hd){ HD=hd ;} 10...3 */ 4 package test; 5 6 public class HardDisk { 7 8 int amount; 9 void setAmount(int
Type { get; set; } } public class Memory { public int Size { get; set; } } public class HardDisk...Computer { public CPU CPU { get; set; } public Memory Memory { get; set; } public HardDisk...HardDisk { get; set; } } 建造者类 定义一个建造者类,该类用于创建电脑对象: public class ComputerBuilder { private Computer...return this; } public ComputerBuilder SetHardDisk(int capacity) { _computer.HardDisk...= new HardDisk { Capacity = capacity }; return this; } public Computer Build()
private String cpu; /**显卡*/ private String graphicsCard; /**硬盘*/ private String hardDisk...return "Computer [cpu = " + cpu + ",graphicsCard = " + graphicsCard + ",hardDisk...= " + hardDisk + ",memory = " + memory + ",mainBoard = " + mainBoard...){ this.cpu = "Intel i7 处理器"; this.graphicsCard = "英伟达显卡"; this.hardDisk...= " + hardDisk + ",memory = " + memory + ",mainBoard = " + mainBoard
.插入移动硬盘,查看移动硬盘的设备文件名 [root@localhost ~]# fdisk -l 4.在/mnt目录下建立一个挂载点 [root@localhost ~]# mkdir /mnt/HardDisk...5.挂载 [root@localhost HardDisk]# mount -t ntfs-3g /dev/sdc1 /mnt/HardDisk/ 进入/mnt/HardDisk目录,可以看到移动硬盘里的内容了.... 6.拔出移动硬盘前要记得卸载[root@localhost ~]# umount /mnt/HardDisk
set; } public string GPU { get; set; } public string Memory { get; set; } public string HardDisk...void Display() { Console.WriteLine($"CPU: {CPU}\nGPU: {GPU}\nMemory: {Memory}\nHardDisk: {HardDisk...computer.Memory = "32GB DDR4"; } public override void BuildHardDisk() { computer.HardDisk...输出结果如下: ``` 游戏电脑配置如下: CPU: Intel i7-10700K GPU: NVIDIA RTX 3080 Memory: 32GB DDR4 HardDisk: 2TB SSD +...4TB HDD 办公电脑配置如下: CPU: Intel i5-10400 GPU: Intel UHD Graphics 630 Memory: 16GB DDR4 HardDisk: 512GB
/dev/sdb WWID: 1ATA_VBOX_HARDDISK_VB81c4f844-94203a15 /dev/sdb1 WWID: 1ATA_VBOX_HARDDISK_VB81c4f844...-94203a15 /dev/sdc WWID: 1ATA_VBOX_HARDDISK_VB2ed83c09-e66dbcfb /dev/sdc1 WWID: 1ATA_VBOX_HARDDISK_VB2ed83c09...1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB81c4f844...1", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB2ed83c09
\PHYSICALDRIVE1 Model : QEMU QEMU HARDDISK SCSI Disk Device Size : 105226007040 Caption...: QEMU QEMU HARDDISK SCSI Disk DevicePartitions : 2 DeviceID : \\....\PHYSICALDRIVE0 Model : QEMU QEMU HARDDISK SCSI Disk Device Size : 118106795520 Caption...: QEMU QEMU HARDDISK SCSI Disk DevicePartitions : 1 DeviceID : \\....\PHYSICALDRIVE2 Model : QEMU QEMU HARDDISK SCSI Disk Device Size : 118106795520 Caption
devices/pci0000:00/0000:00:0d.0/ata6/host5/target5:0:0/5:0:0:0/block/sdd N: sdd S: disk/by-id/ata-VBOX_HARDDISK_VB98806c01...-1fe3494a S: disk/by-id/scsi-SATA_VBOX_HARDDISK_VB98806c01-1fe3494a S: disk/by-path/pci-0000:00:0d.0...-scsi-0:0:0:0 S: osd5data E: DEVLINKS=/dev/disk/by-id/ata-VBOX_HARDDISK_VB98806c01-1fe3494a /dev/disk.../by-id/scsi-SATA_VBOX_HARDDISK_VB98806c01-1fe3494a /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0 /dev
static void main(String[] args) { Computer computer = new Computer(); XIJieHardDisk hardDisk...= new XIJieHardDisk(); hardDisk.setCapacity("1T"); IntelCpu cpu = new IntelCpu();...代码中我们只需要修改 Computer 类 和增加三个配件的主接口,让子品牌分别实现对应的接口即可: HardDisk: public interface HardDisk { void setCapacity...Cpu: public interface Cpu { void run(); } Computer: @Data public class Computer { private HardDisk...= new XIJieHardDisk(); hardDisk.setCapacity("1T"); IntelCpu cpu = new IntelCpu();
ComputerDemo { public static void main(String[] args) { //创建组件对象 XiJieHardDisk hardDisk...; } public void setHardDisk(XiJieHardDisk hardDisk) { this.hardDisk = hardDisk;...* @Description: 电脑 */ public class Computer { // 注意这里采用的是接口,我们具体的接口实现可以依赖于不同的实现类 private HardDisk...hardDisk; private Cpu cpu; private Memory memory; public HardDisk getHardDisk() {...return hardDisk; } public void setHardDisk(HardDisk hardDisk) { this.hardDisk = hardDisk
private String mainBoard; private String cpu; private String displayCard; private String hardDisk...String displayCard) { this.displayCard = displayCard; } public void setHardDisk(String hardDisk...) { this.hardDisk = hardDisk; } public void setOther(String other) { this.other..., cpu='" + cpu + '\'' + ", displayCard='" + displayCard + '\'' + ", hardDisk...='" + hardDisk + '\'' + ", other='" + other + '\'' + '}'; } } 抽象建造者
; } public void setHardDisk(XiJieHardDisk hardDisk) { this.hardDisk = hardDisk;...类图如下: 电脑(Computer): public class Computer { private HardDisk hardDisk; private Cpu cpu;...private Memory memory; public HardDisk getHardDisk() { return hardDisk; } public...void setHardDisk(HardDisk hardDisk) { this.hardDisk = hardDisk; } public Cpu getCpu...hardDisk = new XiJieHardDisk(); //组装电脑 我这里是使用强制转换 因为 也可像上面这样向上转型创建对象 computer.setHardDisk
="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="1ATA_VBOX_HARDDISK_VBc6580c49...="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="1ATA_VBOX_HARDDISK_VB41a7cba4...="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="1ATA_VBOX_HARDDISK_VB6aaaf601...,SYMLINK+="asm-ocr", OWNER="grid",GROUP="asmadmin",MODE="0660" KERNELS=="sd*",ENV{ID_SERIAL}=="VBOX_HARDDISK_VB41a7cba4...,SYMLINK+="asm-mgmt",OWNER="grid",GROUP="asmadmin",MODE="0660" KERNELS=="sd*",ENV{ID_SERIAL}=="VBOX_HARDDISK_VB6aaaf601
-98003b66 [root@rac1 ~]# /sbin/scsi_id -u -g /dev/sdc 1ATA_VBOX_HARDDISK_VBbf237514-f3435ff0 编写/etc/udev...-98003b66 [root@rac1 ~]# /sbin/scsi_id -u -g /dev/sdc 1ATA_VBOX_HARDDISK_VBbf237514-f3435ff0 [root@rac1...~]# /sbin/scsi_id -u -g /dev/sdd 1ATA_VBOX_HARDDISK_VBc894130b-2f10eef0 [root@rac1 ~]# /sbin/scsi_id...-u -g /dev/sde 1ATA_VBOX_HARDDISK_VB58f6ed82-b0dc76dc [root@rac1 ~]# /sbin/scsi_id -u -g /dev/sdf 1ATA_VBOX_HARDDISK_VB0e0cbf34...-6238f247 [root@rac1 ~]# /sbin/scsi_id -u -g /dev/sdg 1ATA_VBOX_HARDDISK_VB98788216-29530089 rac1编写文件然后
PyArmor Trial Version 7.7.4 INFO Python 3.6.13 Hardware informations got by PyArmor: Failed to get harddisk...Ip address: "x.x.x.x" Domain name: "(none)" Change logs v6.2.0(r21): Remove trailing dot from harddisk...serial number v6.4.2(r34): Support binding multiple mac addresses v6.5.3(r37): Support binding named harddisk
DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode", RESULT=="1ATA_VBOX_HARDDISK_VBf0c224c2...DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode", RESULT=="1ATA_VBOX_HARDDISK_VB6696fa7f...DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode", RESULT=="1ATA_VBOX_HARDDISK_VBd23c9420...DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode", RESULT=="1ATA_VBOX_HARDDISK_VBfd0b0c16...DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/lib/udev/scsi_id -g -u -d $devnode", RESULT=="1ATA_VBOX_HARDDISK_VBa7ed9674
领取专属 10元无门槛券
手把手带您无忧上云