欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

北京信息科技大学Java语言程序设计

  • 资源ID:53414729       资源大小:237KB        全文页数:8页
  • 资源格式: DOC        下载积分:15积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要15积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

北京信息科技大学Java语言程序设计

实验4抽象类与接口【实验宗旨】 每天做一点编程练习。【实验目得】1、学习与掌握Java抽象类得定义与使用.2、学习与掌握Java接口得定义与使用。3、进一步学习与掌握通用程序设计方法。【实验步骤 (解题过程 )】参见实验 2.【实验内容】1、( p a r e a b l eC irlce 类)创建名为 pare a b leC i r c le 类,它扩展 Cir cl e类并实现pareabl e接口。画出UM图,实现pareT o方法,使其可以根据面 积比较两个圆。编写一个测试程序求出 par e ableCi r cl e对象得两个实例中得 较大者。说明:来源编程练习 14、2 (P399)。(2)j av a、I a ng、p ar eab le 接口参 见1 4、5小节(P378).Cir c le类得实现,参见程序清单11、2(P 3 0 3)。 【实验预习】1. 问题描述:该题描述得就是创建一个parea b leCir c le类来实现两个圆得比较.2. 创建两个pare able Circle类得实例,利用p a r a b le接口 ,并调用p arabl e Max方法实现。【附程序代码】SuppressWar nings( ” u n c h eck ed") public class t es t pareab l eCircle / 主方法public st a t i c v o i d ma i n (Stri ng ar gs)?p?are a bleCir c le C1=ne w pare a bleCircle (1 0) ;? pareableCir cle C2=ne w p ar eab leCir c le (3);?Sy stem、ou t、printin ("The max niu m Ci rc le is "+ p arab le Max(C 1 ,C2) +得圆 ") ;/ 比较两个圆得大小public stat i c p arab le p arabl eMax(pa ra bl e C1, pa r a ble C 2)?f (C1、par eTo( C2) >0)?e t ur n C1 ;?e?lse re tu rn C2;pu bl ic c l a ss p a r e ableC i r c l e exte nd s Cir c le i mpleme nt s p ara b le ?/ 建立个指定半径得圆par eable C ir c le( d oubl e radiu s )?s upe r (rad i us);/ para b le接口得方法p ublic i n t par eT o( O b j ect o ) ?f (getArea ()(par e ableC ircl e)o)、g e tArea()?r eturn 1 ;?e l s e if (ge t Area() <(pa r eab l eCir cle)o )、g e tAr ea() ret u rn 1 ;els e return 0 ;?p ub l ic class Circ l e ex te nd s Ge om etricObject1 p r ivate d o ub le ra d iu s ;p ub lic Circle () p ubl i c C ircle( d ouble r a di us )t his、r adius = rad i us;/ 返回半径pu bl ic do ubl e ge t Radi us()retur n r a di us;/ 设置一个新得半径public v o id s etRadiu s(do uble radius) th i s、 r a di u s = ra diu s;/ 返回圆得面积publiret/pubc dou ble ge t Are a() u rn rad iu s * ra diusMath 、 PI;返回圆得直径i c double g n 2*retur/ /返回圆得周长publ ic do ublr etu r n 2*/ 打印圆得信息puet Di a meter rad i us;getPeri m etra d ius * Math) PI;blic Str i ng r etu rn an dtoString() created in ” t he rad i usis "g etDateCreate d () + r a dius ;【Um图】CompareableCircle<<create>>CompareableCircle(radius: double) +compareTo(o: Object): int【实验过程及运行结果】口苣'理ra: GW ndowss/stenn32cmc/LeMe*= 口最夭的圆为半径是wWl inlhu Hay 29 21 = 19=25 GST 2614the radius is 価 屈的圆J在运行过程中遇到得错误就是,在写para b leMax方法时,我写得返回值就是para b leC ire le 类型。应该返回值得类型就是parable类型。这样直接调用了它得ToS tr in g方法.2、(将Cir e l c类变成可比较得)改写程序清单112(P 30 3 )中得C i r cle 类,它扩展 G eome tric Obj ect 类(程序清单 141( P371), 并实现p a reabl e接口。覆盖O b je ct类中得equa ls方法。当两个Circle对象 所表示得圆得半径相等时,则这两个对象就是相同得。画出包括Circle、Geome tricObje e t与p a re ble得UM图.编写测试程序,判断两个圆就是否相同。如果不同,按照练习1得思路,比较两个圆对象得大小.(来源:编程练习14、5(P399)。【实验预习】1. 问题描述:创建Cir e l e类,比较两个圆得大小。2. 创建两个Circle类得实例,调用par eTo方法与e qua l s方法,比较两个圆 得大小。【附程序代码】pu b lic cla ss t e s t C ircle 2 pu bl i c static v o id m ain (Str ing a rgs ) ?Ci r cle 1 C1 =n ew Cir cle1(2) ; / 建立一个半径为 2 得圆Circ 1 e1 C2 =new Ci rcle1( 3 ) ; / / 建立一个半径为 3 得圆?Sy s t em out、pr intln(C1、equal s (C2);?Sy stem、out、p rintln(C1 、p a r eTo (C2);p ublic class C ir cle1 ex t ends Ge o metr i cOb jectimplemen t sparab 1 e pri vat e dou bl e r ad i u s ;pub 1 ic Circle 1() p u b 1 i e Circ 1 e1 (d oub l e r ad i us)thi s、r ad i us = ra d i u s;/ 返回半径public double getRadiu s () r e tu rn rad i us;/ 设置一个新得半径pub 1 ic vo i d s etR ad ius(d ou ble radius) this 、radius = rad i us;/ 返回圆得面积pu b li c d o u bl e g et A rea() re t urn ra d ius * r a di us * Math、P I;/ 返回圆得直径publ i c doubl e get D iam e ter ()return 2 * rad i us;/ 返回圆得周长pu b lic double ge tPe r i me ter () re tu rn 2 * r ad i us *M ath、PI ;/ 打印圆得信息public Str i ng t oSt r in g( )retu r n " cre ated i n + ge tDat eCreated ( )” an d t h e radius is ” + radi us ;/par ab le 接口得方法publi c int pa re To (Obje c t o )i f (thi s、ge t A re a()> ( (Circ 1 e 1) o)、g e tAre a () retu rn 1;e lse if (t his、ge tA re a () v (Ci r cle 1 )o )、g etAr e a() ret u rn - 1;e lser e t u rn 0;/覆盖O bje ct中得equ a l s方法public bo o1 ean equals(O b ject o ) return this、ge t Are a ()= =(Ci rc lei ) o)、get A rea();【UM图】【实验过程与运行结果】rai 苣琏员:C :Wi n dowssystem 3 2cmd.UI 回 S3E:和多态jaua tes tCircle2falseE;它帛承和多态colai* f0*dVII1kF啃呻 |F在实验过程中,不会编写c qu a 1 s得覆盖方法.解决方法:应该就是写成;public b oolean eq u a 1 s(Obje c t o) r etur n th is、g etAre a () = ( (C ire 1 e 1 )o )、ge t Area( ) ; 3、(求几何对象得面积之与)编写一个方法,求数组中所有几何对象得面积之与。 方法签名如下:pu b 1 i c sta t i c doub 1 e s u mArea(Ge om et r i c Obje ct a)编写测试程序,创建4个对象(两个圆形与两个矩形)得数组,然后使用sumA rea 方法求它们得总面积。说明:来源:编程练习14、8( P 4 0 0 );分别实现Geonetri e O bjeet 类(程序清单14- 1(P 3 7 2) )、Re eta ngl e类(程序清单1 1- 3 ( P305、与 Ci r e 1 e类(程序清单1 1 2 (P3 03);建立Geometri c Object类层次结构 (图 14-2 (P372)。【附程序代码】pu b lie c1 ass A rea publie s ta tie void mai n( St r in g ar g s)new Are a();publi c Area ()Geom etricObject a = ne w C ircle (5) , new Cir c le( 6 ), new Re ct an gle (2, 3),ne w R ect a ngl e (2, 3 ”;Sy stem、ou t、p r intl n( "The t o tal a rea i s " + sumArea(a);p ublic static d ouble s umAr ea (Geome tr i cO b j ect a)do uble sum = 0;fo r (int i =0; i < a、length; i+)su m += ai 、 getAr ea( );r et u rn su m;/ 矩形类cla ss R e ctangle e x tends G e o met r icObject p r ivat e doubl e w id t h ;p r ivate d oub le heig h t;/ 创建一个指定长与宽得矩形pu b lic R ectang l e( d oub l e wid th , d oubl e h eig ht)this 、 wi dth = width ;this 、 height = hei g ht;/ 返回矩形得宽pub l i c dou b l e get Wi dt h( )return wi d th ;/ 设定矩形得宽publi c void se tWi d th( d ou bl e width )th is、 width = width ;/ 返回举矩形得高p u b li c double get Height () r etu r n h e ight ;/ 设定矩形得高p u bl ic void setHei g ht( d oubl e height) t h is 、h eigh t = heigh t ;/ 返回矩形面积public d ou ble getArea() return wid th h eig ht ;/ 求矩形得周长pu bl ic doub l e get Pe ri m eter( ) re tu rn 2* (width+ heigh t);/ /覆盖equa l s方法publ i c boolea n e quals(Rect a ngle rectan g l e ) retu r n (w i dt h = rec t angle、getWid th () ) && (h e ig h t = rec ta ngle、g etH e ig ht();/返回基本信息publicS tring to St rin g()re turnRecta nglew idth = " + width +"and he i g h t =" + hei g ht;【运行结果】【思考题】1、 练习1与练习2中,使用了不同得方法建立了可比较得 Circle类。结合编程实 现,说说您对不同设计方案得想法与体会。利用不同得设计方案可易于解决不同得实际问题 2、练习3中,如果将方法sum Ar ea得参数数组定义为C ir 1 ce,可以实现相 应得功能吗?定义为Obj e ct呢?为什么?结合本题,说说您对通用程序设 计得理解前者不可以,后者可以。编程就就是让计算机为解决某个问题而使用某种程序设 计语言编写程序代码,并最终得到结果得过程。为了使计算机能够理解人得意图, 人类就必须要将需解决得问题得思路、方法、与手段通过计算机能够理解得形式 告诉计算机,使得计算机能够根据人得指令一步一步去工作,完成某种特定得任务。3、说说抽象类与接口得相同与不同之处。、?相同点都不能被直接实例化,都可以通过继承实现其抽象方法。都就是面向抽象编程得技术基础,实现了诸多得设计模式。不同点接口支持多继承;抽象类不能实现多继承。接口只能定义抽象规则;抽象类既可以定义规则,还可能提供已实现得成员。 接口就是一组行为规范;抽象类就是一个不完全得类 , 着重族得概念。 接口可以用于支持回调;抽象类不能实现回调,因为继承不支持。接口只包含方法、 属性、索引器、事件得签名 , 但不能定义字段与包含实 现得方法 ; 抽象类可以定义字段、属性、包含有实现得方法。接口可以作用于值类型与引用类型; 抽象类只能作用于引用类型。 例如, S tru c t就可以继承接口,而不能继承类。

注意事项

本文(北京信息科技大学Java语言程序设计)为本站会员(daj****de2)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!