Part 3 对象的组合
Part 3 对象的组合
课堂练习4:
编写代码模拟手机与SIM卡的组合关系。
要求:
SIM卡类负责创建SIM卡;
Phone类负责创建手机;
手机可以组合一个SIM卡;
手机可以更换其中的SIM卡。
实现代码:
public class SIM {int sNum;SIM(int num){this.sNum=num;}public void setsNum(int sNum) {//设置卡号this.sNum = sNum;}public int getsNum() {//获取卡号return sNum;}
}
public class Phone {SIM sim;public void setSim(SIM sim) {//设置手机号this.sim = sim;}public SIM getSim() {return sim;}
}
public class PhoneTest {public static void main(String[] args) {SIM s1=new SIM(138540);SIM s2=new SIM(135734);Phone p=new Phone();p.setSim(s1);System.out.println("手机卡号为:"+p.getSim().getsNum()); p.setSim(s2);System.out.println("更换手机卡号为:"+p.getSim().getsNum());}
}
运行结果:
课堂练习5:
实现代码:
public class CPU {int speed; int getSpeed(){ return speed; } void setSpeed(int speed){ this.speed=speed; }
}
public class HardDisk {int amount; int getAmount(){ return amount; } void setAmount(int amount){ this.amount=amount; }
}
public class PC {CPU cpu; HardDisk HD; void setCPU(CPU cpu){ this.cpu=cpu; } void setHardDisk(HardDisk HD){ this.HD=HD; } void show(){ System.out.println("cpu的速度:"+cpu.getSpeed()); System.out.println("内存容量:"+HD.getAmount()); }
}
public class Test {public static void main(String[] args) {CPU cpu=new CPU(); cpu.setSpeed(2200); HardDisk disk=new HardDisk(); disk.setAmount(200); PC pc=new PC(); pc.setCPU(cpu); pc.setHardDisk(disk); pc.show(); }
}
运行结果:
Part 3 对象的组合相关推荐
- 【Unity3D】资源对象、预设、查找对象、组合模式等知识点
1.解释对象与资源区别于联系,根据官方案例,分别总结资源和对象组织的规则/规律. 下载并查看了Adam和Survival Shooter tutorial两个官方资源案例,这些案例作为资源,可 ...
- java对象组合_java并发编程(三): 对象的组合
对象的组合: 如何将现有的线程安全组件,组合成我们想要的更大规模的程序. 设计线程安全的类: 设计线程安全类的三个要素: 1.找出构成对象状态的所有变量: 2.找出约束状态变量的不变性条件: 3.建立 ...
- Java并发编程实战————对象的组合
引言 对象的组合,是<Java Concurrency in Practice>中第四章引入的课题.这并不是一个并发的概念. 为了可以将现有的线程安全组件组合为更大规模的组件或程序,而不是 ...
- 【Java】类与对象 - 对象的组合
一个类的成员变量可以是Java允许的任何数据类型,因此,一个类可以把某个对象作为自己的成员变量,也就是说,该对象将其他对象作为自己的组成部分. 组合和复用 如果一个对象a组合了对象b,那么对象a就可以 ...
- Python--面向对象之组合
一 : 概述 组合就是一个类的对象可以作为另一个类的对象的属性. 这个说法看起来可能有点绕,但是通过代码可以很快理解,并且你会感觉"对,面向对象就应该能这样",而且看起来很cooo ...
- java简述对象的组合_Java程序运行和对象创建过程简述
Java中一个对象创建分为两个步骤: 加载类,创建对象. 加载类是将所写的程序.java文件编译生成的.class文件加载到内存中,保证了对象创建的预置环境.类加载完毕后才可以创建该类的对象. 第一步 ...
- python 类组合_python类与对象的组合与继承
1.把类的对象实例化放到一个新的类里面叫做类的组合,组合就是指几个横向关系的类放在一起,纵向关系的类放在一起是继承,根据实际应用场景确定.简单的说,组合用于"有一个"的场景中,继承 ...
- 【原创】面向对象作业:选课系统中用pickle储存多个对象间组合引用关系的那些坑...
转载请注明出处:https://www.cnblogs.com/oceanicstar/p/9030121.html 想直接看结论先提前列出: 1.存储一个对象,文件不是真的给你存储的了对象这种东西, ...
- python中组合与继承的区别_python类与对象的组合与继承
1.把类的对象实例化放到一个新的类里面叫做类的组合,组合就是指几个横向关系的类放在一起,纵向关系的类放在一起是继承,根据实际应用场景确定.简单的说,组合用于"有一个"的场景中,继承 ...
最新文章
- 样式表(CSS:Cascading Style Sheets)简要教程[上]
- 是时候改变自学编程方法了,这篇国外网友的教程被fast.ai创始人点赞
- 微软正式发布Windows 10 2020年10月更新
- 高年薪的Web前端工程师经常思考哪些问题?
- android 拦截webview资源请求,Android Webview拦截ajax请求
- Spring Boot(四)Spring Boot @ConfigurationProperties实例
- Web 之困 现代Web应用安全指南一本好书 69.00?
- Mybatis源码阅读(二):动态节点解析2.2 —— SqlSourceBuilder与三种SqlSource
- 电脑查询ip地址的方法,第一种最为简单
- 博弈指什么棋_格局:什么是格局?(胜读十年书)
- 7 天 600 stars, Mobi.css 是如何诞生的
- 永中集成Office程序代码失窃记
- Apabi Reader 4.0.1正式发布!
- 微信改微信号连接服务器,微信修改不了微信号怎么回事 微信号怎么修改
- 文墨绘学怨气里长大的孩子
- 第1章 数据库应用系统开发方法
- 安全可靠快速地导出微信聊天记录
- CRM系统提供完整的解决方案
- Qt编写安防视频监控系统50-地图配置
- 中国大陆5所院校入选2022 QS亚洲地区大学前10名;中国内地被评为全球进步最快的养老金体系 | 美通社头条...