Java学习笔记(lesson3)
教材《Agile Java》
面向对象有一个基本的设计原则:一个类只能做好一件事。即“单职责原则”
CourseSession中的getRostrReport函数用于返回该课程的学生清单,但由于“单职责原则”的约束,因此将getRostrReport函数定义成一个独立的类。
getRostrReport类包括:
三个类变量和一个私有变量:
static final String NEWLINE = System.getProperty("line.separator");
static final String ROSTER_REPORT_HEADER = "Student" + NEWLINE + "-------" + NEWLINE; //学生报表的页眉
static final String ROSTER_REPORT_FOOTER = NEWLINE + "# students = ";
//学生报表的页脚
private CourseSession session;
成员方法
RosterReporter(CourseSession session)//构造函数
public String getReport() //打印完整的该课程学生信息
void writeHeader() //打印页眉
//打印该课程的学生信息
void writeBody() {
for (Student student: session.getAllStudents()) {
buffer.append(student.getName());
buffer.append(NEWLINE); }
}
void writeFooter() //打印页脚
System.getProperty("line.separator")函数详解
此方法以一个系统参数属性的键值作为参数,并返回与该键值相关联的系统属性
属性line.separator解释:在Unix中该属性的值为'\n'。在windows中,为'\r\n'
通常在代码中,应该使用line.separator来弥补不同平台之间的差异!
在测试类中使用的技巧
String rosterReporter = new RosterReporter(session).getReport();
面向对象有一个基本的设计原则:一个类只能做好一件事。即“单职责原则”
CourseSession中的getRostrReport函数用于返回该课程的学生清单,但由于“单职责原则”的约束,因此将getRostrReport函数定义成一个独立的类。
getRostrReport类包括:
三个类变量和一个私有变量:
static final String NEWLINE = System.getProperty("line.separator");
static final String ROSTER_REPORT_HEADER = "Student" + NEWLINE + "-------" + NEWLINE; //学生报表的页眉
static final String ROSTER_REPORT_FOOTER = NEWLINE + "# students = ";
//学生报表的页脚
private CourseSession session;
成员方法
RosterReporter(CourseSession session)//构造函数
public String getReport() //打印完整的该课程学生信息
void writeHeader() //打印页眉
//打印该课程的学生信息
void writeBody() {
for (Student student: session.getAllStudents()) {
buffer.append(student.getName());
buffer.append(NEWLINE); }
}
void writeFooter() //打印页脚
System.getProperty("line.separator")函数详解
此方法以一个系统参数属性的键值作为参数,并返回与该键值相关联的系统属性
属性line.separator解释:在Unix中该属性的值为'\n'。在windows中,为'\r\n'
通常在代码中,应该使用line.separator来弥补不同平台之间的差异!
在测试类中使用的技巧
String rosterReporter = new RosterReporter(session).getReport();
Labels: Java
Post a Comment

