使用组合的 Book 类
本课属于 Coddy JavaScript 学习旅程的“面向对象编程”单元。第 51 课,共 56 课。
挑战
使用组合创建 Book 类
你的任务:
- 在名为
Book.js的文件顶部导入Author类 - 创建并导出一个
Book类,包含:- 私有字段:
#title、#author、#isCheckedOut - 接收
title和author的构造函数 - 两个 getter:
title和authorInfo,后者返回作者的姓名
- 私有字段:
- 在
main.js中添加导入Book类的语句
组合在此处的应用方式:
组合表示“拥有”关系。在我们的 Book 类中:
- Book 拥有一个 Author(而不是“是一个” Author)
- Book 包含一个 Author 实例,作为它的一个组成部分
- Author 独立存在,可以被多个 Book 使用
- 这就是组合:用简单对象(Author)构建复杂对象(Book)
亲手试试
import { Author } from './Author.js';
// TODO:导入 Book 类
// 测试
const author = new Author('J.K. Rowling');
const book = new Book('Harry Potter', author);
console.log('Book title:', book.title); // 应输出:"Book title: Harry Potter"
console.log('Author:', book.authorInfo); // 应输出:"Author: J.K. Rowling"面向对象编程中的所有课
8整理 OOP 代码
将类组织到模块中自己练习: JavaScript 在线编译器