实验 3 类和对象
一、实验时间
二、实验目的
1、理解 Java 面向对象程序设计的基本思想;
2、理解 Java 封装的思想,Java 封装思想的实现机制;
3、掌握 Java 类的定义,包括构造方法的使用、get 方法和 set 方法的定义及使用、toString
方法的定义及使用;
4、掌握 Java 对象及对象数组的创建、方法和数据成员的访问。
三、实验内容
1、定义一个 Book 类,要求:
(1)定义该类的 bookID、bookName、price、author 等属性,各属性的数据类型大
家根据实际进行定义,bookID 的值要求自动增长(其值是每个 Book 对象产生时,自动让
bookID 加 1 得到)
(2)分别定义该类的无参构造函数、带 bookName、author 参数的构造函数、以及带
除 bookID 之外的其他所有属性参数的构造函数;
(3)bookID 的值要求在构造代码块中形成;
(4)定义 Book 类所有属性的 set 方法和 get 方法,bookID 属性不能定义其 set 方法;
(5)定义 Book 类的 toString 方法;
2、定义一个 BookTest 类,要求:
(1)创建一个 Book 数组,每本书的初始化信息需要从键盘输入;
(2)定义 sortByPrice 方法,实现按价格对 Book 数组进行排序(用快速排序);
(3)定义 searchByAuthor 方法,实现查找指定作者对应的 Book 信息,不能在该方法
中打印指定的 Book 信息;
(4)在 main 方法中,分别调用上述方法,并打印排序后的 Book 数组对象的信息,以
及指定作者的 Book 信息。
四、实验过程
1、实验原理分析(写出你采用的实验理论基础)(10 分)
(1)所有的这些 bookID、bookName、price、author 等属性都是私有的,这意味着它
们只能通过类的内部访问。然而,为了使外部代码能够使用这些属性和方法,我们
提供了公共的 getter 和 setter 方法。这是一个封装的概念,它保护了对象的内部状
态并使其更具可重用性。
(2)利用面向对象编程语言 Java 实现一个书籍管理系统,通过定义一个 Book 类来
存储书籍的名称、价格和作者等信息,并使用数组实现书籍的存储和排序。使用 Java
语言实现该系统,涉及到了 Java 的基本语法,如变量、数据类型、控制流语句、数
组等。输入输出:通过 Scanner 类读取用户输入,并将输出结果打印到控制台。排
序算法:使用快速排序算法对书籍按照价格进行排序,体现了算法的思想和实现方
法。