答案 0 :(得分:6)
public class Book {
private String name;
private String author;
private int year;
private double cost;
private boolean available;
public Book(String name, String author, int year, double cost, boolean available){
this.name = name;
this.author = author;
this.year = year;
this.cost = cost;
this.available = available;
}
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 int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public double getCost() {
return cost;
}
public void setCost(double cost) {
this.cost = cost;
}
public boolean isAvailable() {
return available;
}
public void setAvailable(boolean available) {
this.available = available;
}
}
文件扩展名通常用于表示模块的文件。这些通常在顶部有#lang ....
行,有时甚至是(module ....)
。可以使用require
将它们导入为模块。
.rkt
和.rktl
文件扩展名用于不是顶级模块的顶级文件。它们不一定在顶部有#lang ....
行,并且必须在某些外部环境中使用load
loading 而不是使用require进行导入。它们通常对它们具有更“动态”的感觉,并且它们经常与在多个文件中使用变量变异的脚本一起使用。这不是球拍中的“鼓励”风格。
.rkts
文件扩展名用于仅将 data 编码为s表达式而不是代码的文件。这些文件不是必需的或不被加载的(它们不应作为代码执行)。但是,其他程序使用它们来使用.rktd
将数据存储在文件系统上,并稍后使用write
读取数据。目的与read
文件或.sexp
文件相同,只是纯数据。