单元5 接口与包
SIMATIC ET 200MP 接口模块 IM 155-5 PN BA 设备手册说明书
SIMATICET 200MP接口模块 IM 155-5 PN BA (6ES7155-5AA00-0AA0) 设备手册设备手册接线 3Siemens AGDivision Digital FactoryA5E38017695-AB Ⓟ 08/2019 本公司保留更改的权利 Copyright © Siemens AG 2017 - 2019. 保留所有权利法律资讯警告提示系统为了您的人身安全以及避免财产损失,必须注意本手册中的提示。
人身安全的提示用一个警告三角表示,仅与财产损失有关的提示不带警告三角。
警告提示根据危险等级由高到低如下表示。
危险表示如果不采取相应的小心措施,将会导致死亡或者严重的人身伤害。
警告表示如果不采取相应的小心措施,可能导致死亡或者严重的人身伤害。
小心 表示如果不采取相应的小心措施,可能导致轻微的人身伤害。
注意表示如果不采取相应的小心措施,可能导致财产损失。
当出现多个危险等级的情况下,每次总是使用最高等级的警告提示。
如果在某个警告提示中带有警告可能导致人身伤害的警告三角,则可能在该警告提示中另外还附带有可能导致财产损失的警告。
合格的专业人员本文件所属的产品/系统只允许由符合各项工作要求的合格人员进行操作。
其操作必须遵照各自附带的文件说明,特别是其中的安全及警告提示。
由于具备相关培训及经验,合格人员可以察觉本产品/系统的风险,并避免可能的危险。
按规定使用 Siemens 产品请注意下列说明:警告Siemens 产品只允许用于目录和相关技术文件中规定的使用情况。
如果要使用其他公司的产品和组件,必须得到 Siemens 推荐和允许。
正确的运输、储存、组装、装配、安装、调试、操作和维护是产品安全、正常运行的前提。
必须保证允许的环境条件。
必须注意相关文件中的提示。
商标所有带有标记符号 ® 的都是 Siemens AG 的注册商标。
本印刷品中的其他符号可能是一些其他商标。
单元5-工作区子系统设计和安装技术
安装步骤和流程
确定位置
根据现场情况和用户需求,确定工作区子系 统的位置,如电源插座、网络接口等。
安装固定件
根据需要,安装固定工作区子系统的支架、 吊架等固定件。
连接线路
将电源线、网线等线路连接到工作区子系统 上,确保线路连接牢固、美观。
测试与调试
对工作区子系统进行测试和调试,确保各项 功能正常工作。
建立完善的工作区子系统配置管理制度,确保系统配置信息的完 整性和准确性。
常见故障排除方法
检查硬件连接
检查工作区子系统的硬件连接是否牢固,特别是电源和线路连接, 确保无接触不良或断线情况。
重启系统
在遇到问题时,尝试重启工作区子系统,有时可以解决一些临时性 的故障。
查看日志文件
查看工作区子系统的日志文件,可以了解系统运行情况和错误信息, 有助于故障排除。
工作区子系统是建筑物内部信息传输的基础设施,为各种设备提供高速、稳定的数 据传输服务。
通过工作区子系统,可以实现设备的集中管理和控制,提高工作效率和便利性。
良好的工作区子系统设计和安装可以提高建筑物的安全性和节能性,减少安全隐患 和能源浪费。
REPORT
CATALOG
DATE
ANALYSIS
SUMMAR Y
文档验收
检查相关的设计文档、安装记录、测试报告 等是否齐全、规范。
性能验收
对工作区子系统的各项性能指标进行测试, 确保满足合同或设计要求。
现场验收
对工作区子系统的设备、连接、运行状况等 进行实地检查。
安全性验收
对工作区子系统的安全设施进行检测,确保 符合安全标准。
常见问题及解决方案
问题
工作区子系统运行不稳定。
备温度等,确保系统正常运行。
全国计算机二级考试内容
(3)缺省声明。
3、常用内部函数。
4、运算符与表达式:
(1)算术运算符。
(2)关系运算符与逻辑运算符。
(3)表达式的执行顺序。
四、数据输入、输出
1、数据输出:
(1)Print方法。
(2)与Print方法有关的函数(Tab、Spc、Space $)。
(1)数组元素的输入、输出和复制。
(2)For Each...Next语句。
(3)数组的初始化。
3、控件数组。
C++语言程序设计
基本要求
1. 掌握C++语言的基本语法规则。
2. 熟练掌握有关类与对象的相关知识。
3. 能够采用面向对象的编程思路和方法编写应用程序。
1.用IF语句实现选择结构。
2.用SWITCH语句实现多分支选择结构。
3.选择结构的嵌套。
五、循环结构程序设计
1.FOR循环结构。
2.WHILE和DO WHILE循环结构。
3.CONTINUE语句和BREAK语句。
4.循环的嵌套。
六、数组的定义和引用
(3)格式输出(Fomat$)。
2、InputBox函数。
3、MsgBox函数和MsgBox语句。
4、字形。
5、打印机输出:
(1)直接输出。
(2)窗体输出。
五、常用标准控件
1、文本控件:
(1)标签。
(2)文本框。
2、图形控件:
(1)图片框,图像框的属性,事件和方法。
1.位运算符的含义及使用。
2.简单的位运算。
十二、文件操作
第五章SDHWDM
1.网同步方式
国际上所使用的同步方式有主从同步方式、相互同步 方式和准同步方式,但大多数国家普遍采用主从同步方式
主从同步方式就是要在同步网中设立一个最高级别的 基准主时钟,而其他时钟均逐级与上一级时钟保持同步, 以此实现与主时钟同步的目的,及具体结构如图5-11所示
图5-11 我国同步时钟等级
由图5-11可知,主从同步网多采用树型拓扑结构,基 准时钟通过同步链路逐级向下传输,在各交换节点上,通 过锁相环将本地时钟与接收到的上一级时钟进行相位锁定, 从而达到与基准时钟同步的目的
(1)复用各部相同常用的有容 器(C)、虚容器(VC)、管理单元(AU)、之路单元 (TU)等。
① 容器
容器(C)实际上是一种装载各种速率业务信号的 信息结构,主要完成PDH信号与VC之间的适配功能。
ITU-T规定了5种标准容器,我国的SDH复用结构中, 仅用了装载2.048Mbit/s、34.368Mbit/s和 139.264Mbit/s信号的3种容器,即C-12,C-3和C-4, 其中C-4为高阶容器,C-3和C-12为低阶容器。
2.映射方法
5.1.3 SDH光传输系统
1.点到点链状线路系统
该系统是由具有复用和光接口功能的线路终端、中继 器和光缆传输线路构成,其中中继器可以采用目前常见的 光-电-光再生器,也可以使用掺饵光纤放大器(EDFA), 在光路上完成放大的功能
2.环路系统
环路系统中,可选用分插复用器,也可以选用交叉连 接设备作为节点设备,它们的区别在于后者具有交叉连接 功能,它是一种集复用、自动配线、保护/恢复、监控和网 管设备的控制下,对由多个电路组成的电路群进行交叉连 接,因此其成本很高,故通常使用在线路交汇处,而接入 设备则可以使用数字环路载波系统(DLC)、宽带综合业务 接入单元(B-ISDN)
单元5-工作区子系统设计和安装技术-3-3
9)工程预算
正式设计完毕后,所有方案已确定。可按照概算的公式进行系统造价预算。预算中
每个信息点的应该包括材料费、工程费、运输费、管理费、税金等全部费用。材料中应该
包括机柜、配线架、配线模块、跳线架、理线环、网线、模块、底盒、面板、桥架、线槽、 线管等全部材料及配件。 工作区信息点的图纸设计是基础工作,直接影响工程造价和施工难度,大型工程也
常重要,而且这些需求也很频繁和持续,需要经常召开网络会议和电话会议,同时销售部
经理也是公司关键岗位,在信息点设计时要特别关注。
3)确定信息点数量
经理室应分配2个数据信息点和2个语音信息点,因此我们对销售部经理室设计两个双 口信息插座,每个插座安装1个RJ45数据口,1个RJ11语音口。
4)确定安装位置
(2)工作区信息点的配置
表5-2 常见工作区信息点的配置原则
工作区类型及功能 安装位置 信息点数量
数据
1个/工位 1个/工位 1个/台 2个/间 1个/50平米 1个/间,写字台 4个/间 1个/间 2个/间 1个/套 2~4个/间 5~10个/间 1个/100平米 1个/30~50平米
语音
1个/工位 1个/工位 1个/台 2个/间 1个/50平米 1~3个/间 4个/间 1个/间 0 2~3个/套 2个/间 2个/间 1个/100平米 1个/30~50平米
一般工程中大多数使用双口面板,也有少量的单口面板。因此在设计时必须准确计算工
程使用的信息模块数量、信息插座数量、面板数量等。
6.配置电源插座原则
在信息插座附近必须设置电源插座,减少设备跳线的长度。为了减少电磁干扰,电源插 座与信息插座的距离应大于200毫米。
7.配置软跳线原则
从信息插座到计算机等终端设备之间的跳线一般使用软跳线,软跳线的线芯应为多股铜
5GC中SMF接口与功能
SMF是5G基于服务(SBA)架构中的一个功能单元,主要负责与分离的用户面数据交互,创建、更新和PDU会话删除,并管理与UPF会话的环境(Session context)。
此外,SMF还负责DHCP服务器和IP地址管理系统,与UPF一起SMF 维护着PDU会话状态,这是由一个24位的PDU Session ID表示。
SMF设置UPF的配置参数,定义业务导向(traffic steering),以确保数据包的传递时使用最合适的路由。
SMF还负责检查终端(UE)的请求与用户订阅,并且与3GPP TS32.255中定义的CHF交互进行连接计费。
做为5G网络中会话管理功能(SessionManagement Function)核心网络单元,SMF提供的服务可以概括为:•- 会话管理,如会话建立、修改和释放;•- 终端(UE)IP地址分配和管理;•- UP功能选择和控制;•- 终止对策略控制功能接口;•- 控制部分策略执行和QoS。
在会话管理过程中SMF除与AMF交互外,还与UDM,PCF和UPF一起执行其功能,它们位置和接口见下图:一、N7 接口(PCF-SMF)•Npcf_SMPolicyControl:创建、更新通知、更新、删除;二、N11 接口(AMF-SMF)2.1 AMF->SMF•Namf_Communication:N1N2接口消息传输、N1N2传输失败通知、EBI分配、AMF状态更改订阅、AMF状态更改取消订阅、AMF状态更改通知;•Namf_EventExposure:订阅、取消订阅、通知。
2.2 SMF->AMF•Nsmf_EventExposure:订阅、取消订阅、通知、应用迁移信息;•Nsmf_PDUSession:创建SM上下文、更新SM上下文、释放SM上下文、SM上下文状态通知、上下文请求。
三、N10 接口(UDM-SMF)•Nudm_SubscriberDataManagement:获取、订阅、修改订阅、取消订阅、通知;•Nudm_UEContextManagement:注册/注销;•Nudm_UEContextManagement:PCscf恢复通知。
fx5u系统构成手册
fx5u系统构成手册一、引言FX5U系列是一种高性能的可编程控制器,广泛应用于工业自动化领域。
本手册旨在介绍FX5U系统的构成,帮助用户更好地理解和使用该系统。
二、硬件构成1. 主机单元FX5U主机单元是整个系统的核心,它包含了CPU、存储器和各种接口。
主机单元通常被安装在控制柜内,负责处理输入输出信号的传输和控制逻辑的运行。
2. 输入/输出单元FX5U系统支持多种输入/输出单元,用于连接传感器、执行器等外部设备。
其中,输入单元负责将外部信号输入到控制器中,输出单元负责将控制器的输出信号传递给外部设备。
3. 扩展模块为了满足特定应用的需求,FX5U系统还支持各种扩展模块,比如模拟模块、通信模块等。
这些模块可以通过扩展接口轻松插拔,并提供额外的功能和灵活性。
4. 人机界面FX5U系统可以通过触摸屏、键盘等人机界面设备进行操作和监控。
用户可以通过人机界面设备直观地控制系统,修改参数和查看运行状态。
三、软件构成1. 编程软件FX5U系统使用GX Works3作为主要的编程软件。
GX Works3提供了丰富的功能和工具,使用户可以轻松地编写、调试和维护控制程序。
2. 通信软件为了实现与其他设备的数据交换,FX5U系统还提供了通信软件,比如MX Component和MX Sheet。
这些软件可以在不同设备之间进行数据传输,实现系统集成和远程监控。
3. 监控软件FX5U系统支持监控软件,用于实时监测系统运行状态、参数设置和故障诊断等。
监控软件可以提高系统的可靠性和生产效率。
四、系统集成与应用示例FX5U系统具有强大的系统集成能力,可以与各种外部设备和网络进行通信。
下面是一个简单的应用示例:假设我们要控制一个输送带系统,通过FX5U控制器进行实现。
我们可以使用数字输入模块接收传感器信号,判断物体是否到达输送带上。
然后,通过数字输出模块控制电机的启停和速度调节,实现物体的运动控制。
同时,我们还可以通过通信模块将控制器连接到上位机,实现远程监控和数据传输。
人教版六年级数学上册第五单元《圆》培优卷(含答案)
新人教版六年级数学上册测试卷第五单元一、填空题(共25分)1.在一张长30厘米,宽25厘米的长方形纸片上,最多能剪出拼成( )个半径是4厘米的圆形纸片。
2.把一张圆形纸板剪成两个相等的半圆,发现周长增加16cm。
每个半圆的周长是( )cm。
3.一张长是10cm、宽是7cm的长方形纸,最多能剪( )个直径是3cm的圆形纸片。
4.以半圆为弧的扇形的圆心角为( )°,以14圆为弧的扇形的圆心角为( )°,以1n圆为弧的扇形的圆心角为( )°。
5.如图,一个正方形边长为10cm,一个直径为2cm的圆在正方形内部沿正方形四条边滚动一周,它所扫过的面积为( )cm2。
6.下图中有大小两个等腰直角三角形、已知阴影部分的面积是250cm,环形的面积是( )。
7.华华把一个由草绳编织成的圆形茶杯垫片沿直径剪开,得到两个近似的三角形,再拼成平行四边形(如下图)。
测得平行四边形的底是15.7厘米,圆形茶杯垫片的半径是( )厘米,面积是( )平方厘米。
8.如图,直角三角形ABC中,90∠=︒,8cmBC=,以BC为直径画半圆O,如果阴ACB影甲的面积等于阴影乙的面积,那么AC长为( )cm。
9.如下图所示,圆的直径和正方形的边长都是10厘米。
圆和正方形在同一平面内,沿着同一条直线同时相向而行。
圆心每秒移动3厘米,正方形每秒移动2厘米。
第4秒时,圆与正方形重叠部分的面积是( )平方厘米。
10.如下图,长方形面积和圆面积相等,圆的半径相当于长方形的宽。
已知圆的直径为4厘米,那么阴影部分的周长和圆的周长相差( )厘米。
11.一个公园是圆形布局(如图),公园共有四个门,每两个相邻的门之间有一条直的水泥路相通。
南门与东门之间的阴影部分是一片草地,草地的面积是2.28公顷。
整个公园的占地面积是( )公顷。
(π取3.14)12.如下图,边长为12厘米的正方形与直径为16厘米的圆有部分重叠,若没有重叠的空白部分的面积分别为S1、S2,则,S2-S1等于( )平方厘米(π取3)。
微机原理 第五章 IO接口
控 制 逻 辑
8 8
IOR IOW
I/O 端口 (256个) 个
(3)使用专用I/O指令和 (3)使用专用I/O指令和 使用专用I/O 存储器访问指令有明显 区别, 区别,可使编制的程序 清晰易懂,便于检查. 清晰易懂,便于检查.
隔离I/O I/O方式 5.2.2 隔离I/O方式
5-16
2.缺点: 2.缺点: 缺点
AB 存储器 存 储 空 间 DB MPU
读 /写 I/O 端口 RD 源自R 控制 逻辑控制5.2.1 存储器映象方式
5-12
1.优点: 1.优点: 优点
AB 存储器 存 储 空 间 DB MPU
读 /写 I/O 端口 RD WR 控制 逻辑
控制
I/O操作与存储器操作完 (1) I/O操作与存储器操作完 全相同,无需使用专用I/O指 全相同,无需使用专用I/O指 I/O 令,而存储器操作指令及其寻 址方式非常丰富,从而使I/O 址方式非常丰富,从而使I/O 功能增强,编程方便,灵活. 功能增强,编程方便,灵活. I/O端口数目 端口数目( (2) I/O端口数目(即外设数 只受总存储容量的限制, 目)只受总存储容量的限制,大 大增加了系统的吞吐率. 大增加了系统的吞吐率. (3) 使微机系统的读写控制 逻辑简单. 逻辑简单.
存储器 (1MB)
控制
MEMR MEMW
控 制 逻 辑
8 8
IOR IOW
有两个地址空间, 有两个地址空间, 使用不同的读写 MPU 使用不同的读写 控制信号访问存储器 I/O端口 端口. 和I/O端口. MPU访问I/O端口必 访问I/O MPU访问I/O端口必 须采用专用I/O指令. 须采用专用I/O指令. I/O指令
单元测试实践(SpringCloud+Junit5+Mockito+DataMocker)
单元测试实践(SpringCloud+Junit5+Mockito+DataMocker)⽹上看过⼀句话,单元测试就像早睡早起,每个⼈都说好,但是很少有⼈做到。
从这么多年的项⽬经历亲⾝证明,是真的。
这次借着项⽬内实施单元测试的机会,记录实施的过程和⼀些总结经验。
项⽬情况⾸先是背景,项⽬是⼀个较⼤型的项⽬,多个团队协作开发,采⽤的是SpringCloud作为基础微服务的架构,中间件涉及Redis,MySQL,MQ等等。
新的起点开始起步,团队中讨论期望能够利⽤单元测试来提⾼代码质量。
单元测试的优点很多,但是我觉得最终最终的⽬标就是质量,单元测试代码如果最终没有能够提⾼项⽬质量,说明过程是有问题或者团队没有真正接纳⽅法,不如放弃来节省⼤家的开发时间。
⼀说到单元测试⼤家肯定会先想起TDD。
TDD(Test Dirven Development,测试驱动开发)是以单元测试来驱动开发的⽅法论。
1. 开发⼀个新功能前,⾸先编写单元测试⽤例2. 运⾏单元测试,全部失败(红⾊)3. 编写业务代码,并且使对应的单元测试能够通过(绿⾊)4. 时刻维护你的单元测试,使其始终可运⾏⼀个团队⼀开始就直接实施TDD的可能性是⽐较⼩的,因为适合团队的研发流程、测试底层框架封装、单元测试原则与规范都还没有敲定或者摸索出最佳的实践。
直接⼀开始就完整实施,往往过程会变形,最终⽬标慢慢会偏离正轨,整个团队也不愿意再接受单元测试。
所以建议是逐步开始,让团队切⾝能够体会到单元测试带来的收益再慢慢加码。
我们的项⽬基础技术架构是基于SpringCloud,做了⼀些基础的底层封装。
项⽬之间的调⽤都是基于Feign,各个项⽬都是规范要提供各⾃的Feign接⼝以及Hystrix的FallbackFactory。
我们将对于外部的调⽤都是封装在底层的service中。
单元测试范围⼀个项⽬需要实施单元测试,⾸先要界定(或者说澄清)单元测试负责的范围。
最常见的疑惑就是与外部系统或者其他中间件的关联,单元测试是否要实际的调⽤其他中间件/外部系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.更灵活的使用接口 (1).全面改写程序 程序5.1中,我们在原有程序的基础上,增加接口,实现新 的功能。事实上,我们可以使用接口,全面的改写原来的 程序,使其结构更加清晰,也更容易扩展。 主要的思路是将所有的功能都用接口来实现,而父类抽象 类Shape仅保留一个名称属性。在子类Rect和Circle中,通 过实现接口来实现具体的功能。 全面改写的程序保存为“ShapeCalTest.java”。
四、任务小结 本任务在原有形状计算任务的基础之上,使用了包更加规 范的组织和管理了类与接口,使程序具备了更明晰的结构 和更好的扩展性。在本书的其余内容中,为了突出重点简 化程序,可能很少使用包。但包仍然是面向对象的Java语 言很重要的一种机制,尤其在面对一些大型应用程序的开 发,良好的管理与重用机制将必不可少。
JAVA 程序设计
单元五 接口与包
学习目标:
掌握Java接口的使用 理解接口与抽象类的异同 了解Java包的使用 掌握Java的访问控制修饰符的使用 了解Java API
目 录
1 2 3
任务一 计算各种形状的面积与周长
任务二 用包管理程序
拓展任务
任务一 计算各种形状的面积与周长
一、任务描述 在单元四的最后一个任务中,我们建立了形状抽象类 ,并从中派生出矩形与圆形的子类,实现了不同形状的面 积计算功能。本任务要求进一步扩展原有程序,在计算各 种形状面积的基础上,增加周长的计算功能。而且,希望 程序具备良好的可读写和扩展性,例如可以进一步增加新 的形状或者新的功能。
1.改写抽象类
2.接口的继承 与类一样,接口也可以继承。Java语言不支持类的多重继承,却支持 接口的多重继承。也就是说,Java的接口可以同时具有不止一个父接 口。 接口的继承与类的继承一致,都使用extends关键字,通用格式如下: 接口名1 extends 接口名2,接口名3,…{ 声明新的常量和抽象方法 ; }
(2).测试接口 编写主类及main()方法,测试以上接口的作用,程序保存为 “ShapeCalDemo.java”。 程序5.2 ShapeCalDemo: public class ShapeCalDemo{ public static void main(String[] args){ Rect R=new Rect(10,20); Circle C=new Circle(15); System.out.println(+"的面积为"+R.area()+",的周 长为"+R.perimeter()); System.out.println(+"的面积为"+C.area()+",的周 长为"+C.perimeter()); } }
2).实现接口 类的声明中用implements子句来表示一个类实现了某个接口。在类体 中,接口中定义的常量可以直接使用;而所有的抽象方法都必须给出 具体的实现,且必须使用public修饰。 虽然一个类只能继承一个父类,却可以实现多个接口,只需在 implements子句中用逗号分隔。 实现接口的通用格式为: class 类名 implements 接口名1,接口名2 … 【例5.2】接口的实现 class Test implements Computable{ public int f(int x,int y){ return x+y; } public void g(){ } }
在程序5.3中,可以使用接口的多继承机制将三个接口组合为一个: interface Cal extends CalPerimeter,CalArea,OutPut{}
四、任务小结 本任务介绍了接口的声明和使用方式。接口的本质就是一 种比抽象类更为抽象的类,它把方法的特征和方法的实现 分割开来,是Java语言灵活性的又一体现。在实际编程中 ,很多不偏于使用抽象类的继承来实现的情形就可以使用 接口的实现来替代。在编程中使用接口往往使得我们的 Java程序更具可读性和可扩展性。
拓展任务
一、思考 1.接口的灵活性体现在哪些方面。 2.比较接口与抽象类的异同。 3.使用包的作用。 4.比较四种访问控制权限的区别。
二、改进程序 1.用接口改造员工与经理自我介绍的程序,即用接口实 现自我介绍文本输出。 2.利用任务二建好的包,分别实现直角三角形、等腰三 角形和等边三角形的面积和周长的计算。
Shapepkg.fun
程序5.6 ShapeCalTest:
3.导入包扩展程序 (1).计算并输出10个随机圆形的面积
程序5.7 RCTest:
(2).计算正方形的周长与面积 正方形为矩形的特例,因而可以在Rect类的基础之上进行扩展。
程序5.8 SquareCalTest:
2.使用层次的包结构 按照任务功能要求,组织包结构如下: shapepkg——存放抽象的形状类Shape shapepkg.shapes——存放各种具体形状类,如矩形类Rect 、圆形类Circle shapepkg.fun——存放实现各种功能的接口
shapepkg
shapepkg.shapes
三、编程 1.编写物的体积和表面积计算的程序,并用立方体和 球体测试。 4 3 2 r 注:球的体积为 ,表面积为4r
3
2.用有层次结构的包管理物体体积和表面积计算的程序 。
任务二 用包管理程序
一、任务描述 在单元三任务二中,我们建立了点类Point,实现了平面上 两点间距离的计算。本任务要求将平面上的两点扩展到空 间中的两点,通过对Point类的继承,建立空间中的点类, 并计算两点之间的距离。
二、任务实施 1.使用简单的包结构 (1).创建包 使用包组织和管理程序,让同一程序的源文件按照包的划 分置于不同的路径,能更合理的管理程序,使代码的复用 成为可能。 简化实现形状计算功能的程序5.3,仅保留矩形的计算。首 先将程序除主类以外的部分(即程序5.3的第一部分与第二 部分中矩形类的定义)保存为一个源文件,声明为同一包 ,且文件命名为“Rect.java”。
(2).使用包 修改程序5.3中的主类,即第三部分,保存为“ShapeCalTest.java”。并 在程序的头部加上导入包的import语句。 程序5.5 ShapeCalTest: import testpkg.Rect//导入包 public class ShapeCalTest{//主类 public static void main(String[] args){ Rect sr=new Rect(10,20); sr.outInfo(); } }
三、相关知识 1.接口的使用 接口的定义使用interface关键字,通用格式为 interface 接口名{ 接口体 } 接口名通常以able或ible结尾,表明接口能完成一定的行为 。 接口中只能定义常量和抽象方法。常量默认为final static修 饰,无论是否显式的使用修饰符。而方法默认为public abstract,同样无论是否显式的使用修饰符。
(3).计算立方体的表面积与体积 立方体有三个属性,即长宽高。立方体不能计算周长和面积,但是可 以计算体积和表面积。因此可以实现CalArea()接口,用于计算表面积 ,同时新增接口CalVolume计算体积。
程序5.9 CubeCalTest
三、相关知识 1.包的定义与使用 2.访问权限 3.Java API 包
图5.1 Shape类及其子类
Shape类可以定义为以下形式 abstract class Shape{ protected String name; Shape(String n){name=n;} abstract double area();//计算面积的抽象方法 abstract double perimeter();//计算周长的抽象方法 }
2.增加计算周长的接口 (1).声明接口 修改父类抽象类的做法可以实现本任务要求的功能,然而 却不够灵活。每当要增加一个新的功能,我们都得修改父 类抽象类,增加新的抽象方法,并在子类中给出具体实现 。而子类一旦继承了抽象类,就必须实现这个方法,而不 能选择性的继承。 在本任务中,将使用更灵活的“接口”方式,来实现新增 的计算周长的功能。 编写代码,保存为“Shape.java”。
【例5.1】接口的声明 interface Computable{ int N=100; int f(int x,int y); public abstract void g(); } 代码声明了名为Computable的接口,其中N为常量,尽管 不使用final static修饰符。方法f()和g()同样均为公有的抽 象方法,无论其是否使用相应的修饰符。
(2).扩展功能 若任务进一步要求计算正方形的周长和面积,我们只需新增一些简单 的代码即可实现。继续派生出子类Square正方形类。而正方形是矩形 的特例,显然,从矩形类Rect继承比从抽象类Shape继承更加简单。 Square类的声明如下。正方形无论是面积还是周长的计算,都可以套 用矩形的方法。因此,不必重写三个实现功能的方法。 class Square extends Rect { Square(){ this(0); } Square(double a){ super(a,a); name="正方形"; } }