Java类的继承练习题

实验目的

(1)了解Java中类和继承的基本概念;
(2)熟悉如何创建和使用基类和子类;
(3)掌握方法覆盖的概念和实践。

实验内容

编写一个Java应用程序,分别编写一个基类:Product、两个子类Laptop和Book和一个测试类EcommerceApp。其中基类Product的设计要求如下:
(1)定义两个protected字段name和price用来描述产品的名字和价格;
(2)提供一个构造方法,用于初始化产品信息;
(3)提供一个displayInfo()方法用于显示产品信息。
子类Book继承Product类,设计要求如下:
(1)定义一个private字段author,用于描述书籍的作者;
(2)提供一个构造方法,调用super方法,初始化书籍信息;
(3)重写displayInfo()方法用于显示书籍信息;
(4)提供一个read()方法,输出“正在阅读书籍”字符串。
子类Laptop继承Product类,设计要求如下:
(1)定义一个private字段brand,用于描述笔记本电脑的品牌;
(2)提供一个构造方法,调用super方法,初始化笔记本电脑信息;
(3)重写displayInfo()方法用于显示笔记本电脑信息;
(4)提供一个bootUp()方法,输出“正在启动笔记本电脑”字符串。
主类ECommerceApp提供main方法,设计要求如下:
(1)创建类型为Product的通用产品对象genericProduct,调用displayInfo()方法输出产品信息;
(2)创建特定类型为Book的产品对象myBook,调用displayInfo()方法输出书籍产品信息;
(3)调用read()方法;
(4)创建特定类型为Laptop的产品对象myLaptop,调用displayInfo()方法输出笔记本电脑产品信息;
(5)调用bootUp()方法。

参考答案

基类Product:

public class Product {  
    protected String name;  
    protected double price;  
  
    public Product(String name, double price) {  
        this.name = name;  
        this.price = price;  
    }  
  
    public void displayInfo() {  
        System.out.println("产品名称: " + name);  
        System.out.println("产品价格: " + price);  
    }  
}

子类Book:

public class Book extends Product {  
    private String author;  
  
    public Book(String name, double price, String author) {  
        super(name, price);  
        this.author = author;  
    }  
  
    @Override  
    public void displayInfo() {  
        super.displayInfo();  
        System.out.println("作者: " + author);  
    }  
  
    public void read() {  
        System.out.println("正在阅读书籍");  
    }  
}

子类Laptop

public class Laptop extends Product {  
    private String brand;  
  
    public Laptop(String name, double price, String brand) {  
        super(name, price);  
        this.brand = brand;  
    }  
  
    @Override  
    public void displayInfo() {  
        super.displayInfo();  
        System.out.println("品牌: " + brand);  
    }  
  
    public void bootUp() {  
        System.out.println("正在启动笔记本电脑");  
    }  
}

测试类EcommerceApp

public class EcommerceApp {  
    public static void main(String[] args) {  
        // 通用产品对象  
        Product genericProduct = new Product("通用产品名", 100.0);  
        genericProduct.displayInfo();  
        System.out.println();  
  
        // 书籍产品对象  
        Book myBook = new Book("书名, 50.0, "作者");  
        myBook.displayInfo();  
        myBook.read();  
        System.out.println();  
  
        // 笔记本电脑产品对象  
        Laptop myLaptop = new Laptop("电脑产品名", 1500.0, "品牌");  
        myLaptop.displayInfo();  
        myLaptop.bootUp();  
    }  
}
  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值