用JAVA语言编写一个图书销售系统平台要求使用对象和类继承多态抽象类接口数组集合的代码
时间: 2024-02-25 12:57:14 浏览: 21
好的,下面是一个简单的Java代码示例,实现了一个基本的图书销售系统平台:
```
import java.util.ArrayList;
// 定义图书类
class Book {
protected String name; // 书名
protected String author; // 作者
protected String publisher; // 出版社
protected double price; // 价格
public Book(String name, String author, String publisher, double price) {
this.name = name;
this.author = author;
this.publisher = publisher;
this.price = price;
}
// getter 和 setter 方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getPublisher() {
return publisher;
}
public void setPublisher(String publisher) {
this.publisher = publisher;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
// 定义图书销售平台类
class BookStore {
private ArrayList<Book> books; // 存储所有的书籍信息
private ArrayList<Double> sales; // 存储每个订单的销售金额
public BookStore() {
books = new ArrayList<Book>();
sales = new ArrayList<Double>();
}
// 添加图书
public void addBook(Book book) {
books.add(book);
}
// 删除图书
public void deleteBook(Book book) {
books.remove(book);
}
// 查询图书
public Book findBook(String name) {
for (Book book : books) {
if (book.getName().equals(name)) {
return book;
}
}
return null;
}
// 计算总销售额
public double getTotalSales() {
double totalSales = 0;
for (Double sale : sales) {
totalSales += sale;
}
return totalSales;
}
// 销售图书
public void sellBook(Book book) {
double price = book.getPrice();
sales.add(price);
deleteBook(book);
}
}
// 定义图书销售额计算器接口
interface SalesCalculator {
public double calculateSales(ArrayList<Double> sales);
}
// 定义小说类,继承自图书类
class Novel extends Book {
private String type; // 小说类型
public Novel(String name, String author, String publisher, double price, String type) {
super(name, author, publisher, price);
this.type = type;
}
// getter 和 setter 方法
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
// 定义小说销售额计算器,实现销售额计算器接口
class NovelSalesCalculator implements SalesCalculator {
public double calculateSales(ArrayList<Double> sales) {
double totalSales = 0;
for (Double sale : sales) {
totalSales += sale;
}
return totalSales * 0.8; // 小说类打八折
}
}
// 测试代码
public class BookStoreTest {
public static void main(String[] args) {
// 创建一个图书销售平台实例
BookStore store = new BookStore();
// 添加一些书籍信息
store.addBook(new Novel("红楼梦", "曹雪芹", "人民文学出版社", 50.0, "古典小说"));
store.addBook(new Novel("活着", "余华", "作家出版社", 30.0, "现代小说"));
store.addBook(new Book("Java编程思想", "Bruce Eckel", "机械工业出版社", 80.0));
// 查询书籍信息
Book book = store.findBook("红楼梦");
System.out.println("查询到的书籍信息:");
System.out.println("书名:" + book.getName());
System.out.println("作者:" + book.getAuthor());
System.out.println("出版社:" + book.getPublisher());
System.out.println("价格:" + book.getPrice());
// 销售一本书
store.sellBook(book);
// 计算销售额
ArrayList<Double> sales = store.getSales();
SalesCalculator calculator = new NovelSalesCalculator();
double totalSales = calculator.calculateSales(sales);
System.out.println("总销售额:" + totalSales);
}
}
```
这是一个比较简单的代码示例,具体的实现方式可能会有所差异,需要根据实际情况进行调整和完善。希望这个示例能够帮到你!