2019.2.18接口2

CPU:

package com.cpu;

public interface Cpu {
    public String xinHao();
    public String zhuPin();
}

CPU型号和主频:

package com.cpu;

public class CpuBrand implements Cpu{

    @Override
    public String xinHao() {
        // TODO Auto-generated method stub
        return "Intel";
    }

    @Override
    public String zhuPin() {
        // TODO Auto-generated method stub
        return "3.8GHz";
    }

}

ems:

package com.EMS;

public interface Ems {
    public String EMS();
}

ems容量:

package com.EMS;

public class EmsCapacity implements Ems {

    @Override
    public String EMS() {
        // TODO Auto-generated method stub
        return "3000GB";
    }

}

硬盘:

package com.HardDisk;

public interface HardDisk {
    public String hardDisk();
}

硬盘容量:

package com.HardDisk;

public class HardDiskCapacity implements HardDisk {

    @Override
    public String hardDisk() {
        // TODO Auto-generated method stub
        return "4GB";
    }

}

电脑类:

package com.master;

import com.EMS.Ems;
import com.HardDisk.HardDisk;
import com.cpu.Cpu;
/**
 * 电脑类
 */
public class Computer {
    private Cpu cpu;
    private Ems ems;
    private HardDisk hardDisk;

    public Cpu getCpu() {
        return cpu;
    }
    public void setCpu(Cpu cpu) {
        this.cpu = cpu;
    }
    public Ems getEms() {
        return ems;
    }
    public void setEms(Ems ems) {
        this.ems = ems;
    }
    public HardDisk getHardDisk() {
        return hardDisk;
    }
    public void setHardDisk(HardDisk hardDisk) {
        this.hardDisk = hardDisk;
    }

    public void print() {
        System.out.println("计算机的信息如下:");
        System.out.println("CPU的品牌是:"+cpu.xinHao()+",主频是"+cpu.zhuPin());
        System.out.println("硬盘容量是:"+ems.EMS());
        System.out.println("内存容量是:"+hardDisk.hardDisk());
    }

}

测试类:

package com.master;

import com.EMS.Ems;
import com.EMS.EmsCapacity;
import com.HardDisk.HardDisk;
import com.HardDisk.HardDiskCapacity;
import com.cpu.Cpu;
import com.cpu.CpuBrand;

public class TestComputer {
    public static void main(String[] args) {
        Cpu cpu = new CpuBrand();
        Ems ems = new EmsCapacity();
        HardDisk hardDisk = new HardDiskCapacity();
        Computer computer = new Computer();

        computer.setCpu(cpu);
        computer.setEms(ems);
        computer.setHardDisk(hardDisk);

        computer.print();
    }
}

输出:

原文地址:https://www.cnblogs.com/Zhangchuanfeng1/p/10398533.html

时间: 2024-10-09 18:35:56

2019.2.18接口2的相关文章

2019.2.18接口

父类手机类: 1 package com.phone; 2 3 public abstract class Phone { 4 public String brand; 5 public String type; 6 7 public Phone(String brand, String type) { 8 super(); 9 this.brand = brand; 10 this.type = type; 11 } 12 13 public abstract void send(); 14

2019.3.18考试&2019.3.19考试

2019.3.18 C O D E T1 树上直接贪心,环上for一遍贪心 T2 正反都做一遍DP T3 观察到顺序不影响答案,分块打标记 2019.3.19 肥肠爆芡,因为沙茶博主昨天在学校的煞笔食堂吃坏了肚子,所以这场考试咕咕了 我佛了 一定补这两场.jpg 原文地址:https://www.cnblogs.com/ydnhaha/p/10558495.html

学习总结2019.4.18

__init__方法 # 强调: # 1.该方法内可以有任意的python代码 # 2.一定不能有返回值 class People: country='China' x=1 ? def __init__(obj, name, age, sex): #obj=obj1,x='egon',y=18,z='male' # if type(name) is not str: # raise TypeError('名字必须是字符串类型') obj.name = name obj.age = age obj

【C语言解惑课堂】解惑内容合集(2019.8.18更新)

我的知识星球:"C语言解惑课堂"截止到2019年8月18日的所有解惑内容如下.要查看详细解析的C语言难点或者需要提问的同学,微信扫扫文末的星球二维码加入吧! 一.基础难点剖析 [第1篇][C语言基础][unsigned short类型用于循环的一个难点] [第2篇][C语言基础][unsigned int溢出] [第3篇][C语言基础][int类型溢出] [第4篇][C语言基础][字符与字符串的区别] [第5篇][C语言基础][&&运算符两边的数值] [第33篇][C语

18.接口的基本语法

什么是接口? 定义接口就是定义了调用对象的标准 接口的基本语法 基本语法(一) 1.使用interface定义 2.接口当中的方法都是抽象方法 3.接口当中的方法都是public权限 基本语法(二) 1.实现接口使用implements关键字,之后要复写这个接口当中的抽象方法 2.一个类可以实现多个接口, 同时接口支持向上转型,生成这个接口实现类的对象之后,可以向上转型为接口类型 interface USB{ publicvoid read(); publicvoid write(); } in

【单调栈维护连续区间】2019.1.18模拟赛T2 浇花

这道题是一道单调栈的题 1 题目描述 2 JDFZ在餐厅门前种了一排nn棵花,每棵花都有一个高度.浇花大爷会枚举所有的区间,然后从区间中找出一个高度最矮的花进行浇水.由于浇花大爷浇完水之后就精疲力竭了,所以请你帮助他计算每棵花都被浇了几次水. 3 4 输入格式 5 第一行一个整数nn. 第二行nn个整数,分别表示每棵花的高度. 6 7 输出格式 8 一行nn个整数用空格隔开,分别表示每棵花被浇了几次水. 9 10 样例一 11 input 12 3 13 1 3 5 14 output 15 3

2019.4.18训练

今天的题还是挺不错的: 1:codeforces811c 我先贴一个博客上来:https://blog.csdn.net/westbrook1998/article/details/82929293 感觉这个人的思路和我差不多,可能这种题都差不多的做法把............... 网上都差不多,直接上代码把,题解在代码里面: 1 /* 2 首先这道题它给了你ai的范围是0-5000 3 然后它告诉了你如果取一个数,就要取全部的数 4 那么就肯定要处理出全部的段出来,然后接下来的话我们就预处理

2019.06.18学习python循环总结

常用循环: 1.for ... in 2.if ... else range(start, end, scan)函数: 参数含义: start:计数从start开始.默认是从0开始.例如range(5)等价于range(0, 5); end:技术到end结束,但不包括end.例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5 scan:每次跳跃的间距,默认为1.例如:range(0, 5) 等价于 range(0, 5, 1) 例子(分页): --------for  in -

HPU积分赛 2019.8.18

A题 给出n个数,问这n个数能不能分成奇数个连续的长度为奇数并且首尾均为奇数的序列 Codeforces849A 题解传送门 代码 1 #include <bits/stdc++.h> 2 #define ll long long 3 #define ull unsigned long long 4 #define ms(a,b) memset(a,b,sizeof(a)) 5 const int inf=0x3f3f3f3f; 6 const ll INF=0x3f3f3f3f3f3f3f3