当前位置:文档之家› 实验1类的基本使用

实验1类的基本使用

1类的基本使用1. 设计一个商品类,在edu.dali包里实现类Commodity,要求:①包括编号、名称、产地、单价属性;②通过构造函数对各属性附值;③定义一个取得折扣价的方法,输入折扣值返回折扣价。

④在CommodityTest的main( )里创建对象创建,输出对象属性及6.5价的价格。

Commodity类:package edu.dali;public class Commodity {private int bianhao;private String name;private float price;private String chandi;public Commodity() {this.bianhao=1000;="梅子";this.chandi="大理";this.price=10f;}public float zhekou(){return 0.65f*this.getPrice();}//get,set省略}CommodityTest测试类:package edu.dali;public class CommodityTest {public static void main(String[] args) {Commodity meiZi=new Commodity();System.out.println("meiZi的名称:"+meiZi.getBianhao());System.out.println("meiZi的产地:"+meiZi.getChandi());System.out.println("meiZi的名称:"+meiZi.getName());System.out.println("meiZi的单价:"+meiZi.getPrice());System.out.println("meiZi的折扣价:"+meiZi.zhekou());}}测试结果如下:2.编写一类似开心农场游戏中的植物类,要求:①在edu.dali包里实现类Plant②具有名称、颜色、种类、金钱数、经验值(exp)、生长周期(天)、果实;③“种类”为PlantType类型(代码、名称属性)④植物可以有多个果实,每个果实为Fruit类型的对象,具有编号、名称、重量、颜色、形状、卖出价格属性。

⑤通过一个方法取得果实卖出总价。

⑥在PlantTest类的main方法里创建Plant对象,并输出名称、颜色、种类、金钱数、经验值、生长周期属性,输出该Plant对象的果实数量及总价。

提示:植物果实可用对象集合实现Plant植物类:package edu.dali;class Plant {private String name;//名称private String color;//颜色private PlantType type; // 种类private float money;//金钱数private int exp;//经验值private int days;//生长周期private Fruit fruit;//果实PlantType appleType =new PlantType();Fruit apples=new Fruit();public Plant() {="苹果树";this.color="红";this.type=appleType;this.money=1000;this.exp=200;this.days=180;this.fruit=apples;}public float sum(){f loat sum;s um=(this.getFruit().getWeight())*(this.getFruit().getPrice());r eturn sum;}//get(),set()省略}Fruit果实类:package edu.dali;class Fruit {private int bianhao;//编号private String name;//名称private float weight;//重量private String color;//颜色private String shape;//形状private float price;//价格public Fruit() {this.bianhao=0001;="红苹果";this.weight=1000;this.color="红";this.shape="圆";this.price=5f;}//get(),set()省略}PlantType种类类:package edu.dali;class PlantType {private int code;//代码private String nameType;//名称属性public PlantType() {this.code=001;Type="草本";}//get(),set()省略}PlantTest测试类:package edu.dali;import java.util.ArrayList;import java.util.List;public class PlantTest {public static void main(String[] args) {List<Plant> plantList;plantList = new ArrayList();Plant apple = new Plant();Plant orange = new Plant();Plant banama = new Plant();plantList.add(apple);plantList.add(orange);plantList.add(banama);System.out.println("apple没有赋初值,输出默认值(构造函数的作用)");System.out.println("默认的植物名称:"+plantList.get(0).getName());System.out.println("默认的植物种类:"+plantList.get(0).getType().getNameType());System.out.println("默认的植物过时的颜色::"+plantList.get(0).getFruit().getColor());System.out.println();System.out.println("根据要求,假如在列表的第二个元素(orange)里设值如下:");PlantType orangeType =new PlantType();Fruit oranges=new Fruit();orange.setName("橘子树");orange.setType(orangeType);orangeType.setCode(10000);orange.setFruit(oranges);oranges.setColor("橙色");System.out.println("输出orange的名称:"+plantList.get(1).getName());System.out.println("输出orange的种属编号:"+plantList.get(1).getType().getCode());System.out.println("输出orange果实的颜色:"+plantList.get(1).getFruit().getColor());System.out.println();System.out.println("输入香蕉的weight和price,计算总金:");Fruit banamas=new Fruit();banama.setFruit(banamas);banamas.setWeight(2000);banamas.setPrice(5.5f);System.out.println("售出后总金为:"+plantList.get(2).sum());System.out.println("List的长度为:"+plantList.size());}}测试结果:类的多态性1.设计一个学生类,包括学号、姓名、性别、班级属性,属性要求采用Javabean规范,用方法study输出“我会学习”,设计一大学生类继承于学生类,用方法study输出“我学习大学课程”,设计一中学生类继承于学生类,用方法study输出“我学习中学课程”。

对类进行测试.Student学生类:package edu.dali;public class Student {private String num;private String name;private String sex;private String classs;public void study(){System.out.println("我会学习!");}//get,set省略}Daxuesheng大学生类:package edu.dali;public class Daxuesheng extends Student{ public void study(){System.out.println("我学习大学课程!");}}Zhongxuesheng中学生类:package edu.dali;public class Zhongxuesheng extends Student { public void study(){System.out.println("我学习中学课程!");}}测试类:package edu.dali;public class Test {public static void main(String[] args) { Student s1=new Daxuesheng();Student s2=new Zhongxuesheng();s1.study();s2.study();}}测试结果:2.设计一个交通工具对象模型,抽象类Vehicle,要求如下:1) 父类为抽象类Vehicle,具有编号、名称、颜色属性,要求采用Javabean 规范;2)Vehicle具有加速、转向两个抽象方法,加速方法输入起始速度,返回加速后的速度,转向方法无输入参数,返回转向时间(分钟);3)定义Plane类继承于Vehicle,Plane每次加速能使速度提高5倍,每转向需20分钟;4)定义Car类继承于Vehicle,car每次加速能使速度提高1.2倍,每转向需1分钟;5)在VehicleTest.main( )中进行对象测试,声明一个交通工具对象v,测试v分别指向Pane与Car对象情况下的加速与转向方法,并进行输出。

相关主题