> 文档中心 > Java 实验二:类的封装与继承

Java 实验二:类的封装与继承


一·实验内容

1.学生类和借书卡类的设计

要求:

(1)设计学生类、借书卡类、及应用测试类3个类;

(2)在学生类中设计属性:学生名字和电子邮件,成员方法:包括名字和电子邮件的设置和返回;

(3)在借书卡类中设计属性:持卡人(学生)和已经借出书的数量,成员方法:包括针对两个属性的设置和返回以及显示卡中记录的所有相关信息。

(4)设计成员变量和成员方法的定义和修饰符,只能通过类自身方法访问私有属性。类外的对象可以访问公有方法。

2.USB接口程序的设计。

鼠标、键盘、麦克风这些USB设备需要插入接口中才能使用。 USB设备随着计算机的启动而启动,随着计算机的关闭而关闭,所以接口中需要定义设备的启动和停止方法。

(1)编写USB接口:设备启动方法(turnOn( ))、设备关闭方法(turnOff( ))

  (2)实现USB接口的鼠标类(Mouse)、键盘类(KeyBoard)和麦克风类 (Mic),实现抽象方法

(3)由于这些设备需要在计算机中使用,设计计算机类(Computer)。计算机中有了USB插槽后,才能插入USB接口,每次插入一个新设备,计算机都会安装此设备的驱动程序。驱动安装后,设备才能正常使用,所以计算机类中设计一个USB插槽(数组)和安装USB设备(add(USB usb))的方法。 同时,计算机要有开机方法(powerOn())和关机方法(powerOff()) 。

(4)测试类Test。实例化计算机对象,并向计算机对象中添加USB设备,运行查看结果

二.实验代码

1.学生类和借书卡类的设计

//学生类public class Student {    private String name;    private String email;    public Student() {    }    public Student(String name, String email) { this.name = name; this.email = email;    }    public String getName() { return name;    }    public void setName(String name) { this.name = name;    }    public String getEmail() { return email;    }    public void setEmail(String email) { this.email = email;    }}

                

//借书卡类public class Card {    private String cardholder;    private int number;    public Card() {    }    public Card(String cardholder, int number) { this.cardholder = cardholder; this.number = number;    }    public String getCardholder() { return cardholder;    }    public void setCardholder(String cardholder) { this.cardholder = cardholder;    }    public int getNumber() { return number;    }    public void setNumber(int number) { this.number = number;    }    public void display(){ System.out.println("持卡人姓名为:"+getCardholder()+"\t\t已经借出的数量为:"+getNumber());    }}

  

//测试类package excecise2;public class Test {    public static void main(String[] args) { Student s=new Student(); Card c=new Card(); s.setName("白敬亭"); s.setEmail("3678269@11.com"); c.setCardholder("小白"); c.setNumber(3); System.out.println("借书人姓名:"+c.getCardholder()+"\t\t\t借书人邮箱:"+s.getEmail()+"\t\t\t已经借书的数量:"+ c.getNumber());    }}

2.USB接口程序的设计。

/**USB接口 * @author zhao */public interface USB {     void turnOn();     void turnOff();}
/** * 键盘类 */public class KeyBoard implements USB {      @Override    public void turnOn() { System.out.println("KeyBoard启动了");    }    @Override    public void turnOff() { System.out.println("keyBoard关闭了");    }}
/** * 鼠标类 */public class Mouse implements USB{@Override    public void turnOn() { System.out.println("Mouse启动了");    }    @Override    public void turnOff() { System.out.println("Mouse关闭了");    }}
/** * 麦克风类 */public class Mic implements USB{     @Override    public void turnOn() { System.out.println("Mic启动了");    }    @Override    public void turnOff() { System.out.println("Mic关闭了");    }}
/** * 电脑类 */public class Computer {    private USB[] usbArr = new USB[4];    //像计算机上连接一个USB设备    public void add(USB usb) { //遍历数组 for (int i = 0; i < usbArr.length; i++) {     if (usbArr[i] == null) {  usbArr[i] = usb;  break;     } }    }    //计算的开机功能    public void powerOn() { //遍历所有的插槽 for (int i = 0; i < usbArr.length; i++) {     //如果发现有设备     if (usbArr[i] != null) {  //将USB设备启动  usbArr[i].turnOn();     } } System.out.println("计算机开机成功!!!");    }    //计算的关机功能    public void powerOff() { //遍历所有的插槽 for (int i = 0; i < usbArr.length; i++) {     //如果发现有设备     if (usbArr[i] != null) {  //将USB设备关闭  usbArr[i].turnOn();     } } System.out.println("计算机关机成功!!!");    }}
/** * 测试类 */public class Test {    public static void main(String[] args) { //实例化对象 Computer computer=new Computer(); //像计算机中添加鼠标、键盘、麦克风 computer.add(new KeyBoard()); computer.add(new Mouse()); computer.add(new Mic()); //开机 computer.powerOn(); //关机 computer.powerOff();    }}

三.运行结果

1.

 2.

彭州一中