您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 实验02-面向对象编程
第1页共9页实验二面向对象编程1.实验目的(1)掌握类与对象基本知识;(2)Java中的继承机制及包(package)、接口(interface)等的设计方法;(3)掌握static、this、super等关键字的使用;(4)掌握Java中两种比较器的用法。2.实验内容实验题1定义一个类Book,包含两个属性:一个是private的String类型的属性title、一个是private的float类型的属性listPrice,封装这两个属性的四个方法setTitle()和getTitle()、setListPrice()和geListPrice()。基本要求:(1)设计类Book及类BookManagement,在类BookManagement中输出Book类的对象的两个private属性;(2)重写父类的toString()方法,实现Book类实例的两个属性的输出。packagepackage1;publicclassBook{privateStringtitle;privatefloatlistPrice;publicBook(StringTitle,floatprice){super();this.title=Title;this.listPrice=price;}publicBook(){super();}publicvoidsettitle(StringTitle){this.title=Title;}publicStringgettitle(){returntitle;}publicvoidsetlistPrice(floatprice){this.listPrice=price;}publicfloatgetlistPrice(){第2页共9页returnlistPrice;}publicStringtoString(){return(name:+this.title+Price+this.listPrice);}}packagepackage1;publicclassBookManagement{publicstaticvoidmain(String[]args){Bookb1=newBook(HowtolearnJava?,45);System.out.println(name:+b1.gettitle()+Price+b1.getlistPrice());System.out.println(b1.toString());}}实验运行结果:实验题2有两个类:MobileManagement和Mobile,Mobile类的的两个实例分别描述如图3.4所示两部手机名称及价格,类MobileManagement在包cn.edu.nwsuaf.jp.p3中,而Mobile在包cn.edu.nwsuaf.jp.p3.data中。基本要求:设计Mobile类与MobileManagement类,在类MobileManagement类中实例化Mobile类的对象使程序能够显示两部手机的价格和数量,运行结果如图3.5。E365,1780RMBM330,1450RMB第3页共9页图3.4手机及价格图图3.5运行结果packagecn.edu.nwsuaf.jp.p3.data;publicclassMobile{/***@paramargs*/privateStringMobilename;privateStringMobileprice;publicvoidsetMoilename(Stringname){this.Mobilename=name;}publicvoidsetMoileprice(Stringprice){this.Mobileprice=price;}publicStringgetMobilename(){returnthis.Mobilename;}publicStringgetMobileprice(){returnthis.Mobileprice;}publicMobile(Stringname,Stringprice){this.Mobilename=name;this.Mobileprice=price;}}packagecn.edu.nwsuaf.jp.p3;importjavax.swing.JOptionPane;importcn.edu.nwsuaf.jp.p3.data.*;publicclassMobileManagement{publicstaticvoidmain(String[]args){Mobilem1=newMobile(E365,1780.0RMB);第4页共9页Mobilem2=newMobile(M330,1450RMB);JOptionPane.showMessageDialog(null,Mobilephones:\n\n+m1.getMobilename()+:+m1.getMobileprice()+\n+m2.getMobilename()+:+m2.getMobileprice()+\n\nThereare2mobilephones.);}}试验运行结果:实验题3有四个类,主类Store在包cn.edu.nwsuaf.jp.p4中,Mobile、Mp3Player、Product在包cn.edu.nwsuaf.jp.p4.data中,Mobile、Mp3Player是Product的子类,Product类为抽象类。基本要求:设计类Mobile和类MP3Player,使它们和类Product、Store组成一个完整的程序,且运行结果如图3.6所示。图3.6运行结果packagecn.edu.nwsuaf.jp.p4.data;publicabstractclassProduct{protectedStringProductname;protectedfloatProductprice;protectedstaticintcount;publicStringgetProducename(){第5页共9页returnthis.Productname;}publicfloatgetProduceprice(){returnthis.Productprice;}publicstaticintgetcount(){returncount;}}packagecn.edu.nwsuaf.jp.p4.data;publicclassMp3PlayerextendsProduct{publicintmemory;publicMp3Player(Stringname,floatprice,intmemory){super(name,price);this.memory=memory;}publicintgetmemory(){returnthis.memory;}publicStringtoString(){return(Productname+(+memory+MB),+Productprice+RMB\n);}}packagecn.edu.nwsuaf.jp.p4.data;publicclassMobileextendsProduct{publicStringtype;publicMobile(Stringname,floatprice,Stringtype){super(name,price);this.type=type;}publicStringgettype(){returnthis.type;}publicStringtoString(){returnProductname++type+,+Productprice+RMB\n;}}packagecn.edu.nwsuaf.jp.p4;importjavax.swing.JOptionPane;importcn.edu.nwsuaf.jp.p4.data.*;第6页共9页publicclassStore{/***@paramargs*/publicstaticvoidmain(String[]args){Mobilem1=newMobile(E365,1780,OnChinaMobile);Mobilem2=newMobile(M330,1450,OnChinaMobile);Mp3Playerp1=newMp3Player(MeizoX3,399,256);Mp3Playerp2=newMp3Player(MeizoE5,580,512);Mp3Playerp3=newMp3Player(XliveXMMP3Play,930,256);JOptionPane.showMessageDialog(null,TheProductsare:\n\n+p1.toString()+p2.toString()+p3.toString()+m1.toString()+m2.toString()+\nThereare+Product.getcount()+products.);}}运行实验结果:实验题4有四个类,主类Store在包cn.edu.nwsuaf.jp.p4中,Mobile、Mp3Player、Product在包cn.edu.nwsuaf.jp.p4.data中,Mobile、Mp3Player是Product的子类,Product类实现Comparable接口,请重写Comparable接口中方法compareTo,实现product对象按照价格排序,运行结果如图3.8所示。第7页共9页图3.7运行结果packagecn.edu.nwsuaf.jp.p4.data;publicabstractclassProductimplementsComparableProduct{protectedStringProductname;protectedfloatProductprice;protectedstaticintcount;publicStringgetProducename(){returnthis.Productname;}publicfloatgetProduceprice(){returnthis.Productprice;}publicstaticintgetcount(){returncount;}publicProduct(Stringname,floatprice){this.Productname=name;this.Productprice=price;++count;}publicintcompareTo(Productproduct){returnnewFloat(product.getProduceprice()).compareTo(Productprice);}}packagecn.edu.nwsuaf.jp.p4.data;publicclassMp3PlayerextendsProduct{publicintmemory;publicMp3Player(Stringname,floatprice,intmemory){第8页共9页super(name,price);this.memory=memory;}publicintgetmemory(){returnthis.memory;}publicStringtoString(){return(Productname+(+memory+MB),+Productprice+RMB\n);}}packagecn.edu.nwsuaf.jp.p4.data;publicclassMobileextendsProduct{publicStringtype;publicMobile(Stringname,floatprice,Stringtype){super(name,price);this.type=type;}publicStringgettype(){returnthis.type;}publicStringto
本文标题:实验02-面向对象编程
链接地址:https://www.777doc.com/doc-4417070 .html