我想创建一个名为 SchoolCatalog 的类,它将包含学校的集合,例如为小学、初中和高中创建一个 SchoolCatalog 实例。(这是 Code Academy Introduction To JavaScript 中的问题之一)。但是,对于如何制作目录来容纳论坛中的所有课程,他们没有适当的指导。因此,如果有人可以帮助我,我将不胜感激。class School { constructor(name, level, numberOfStudents) { this._name = name this._level = level this._numberOfStudents = numberOfStudents } get name() { return this._name } get level() { return this._level } get numberOfStudents() { return this._numberOfStudents } set numberOfStudents(studentsNumber) { if (typeof studentNumber === 'number') this._numberOfStudents = studentsNumber else console.log(`Invalid input: numberOfStudents must be set to a Number.`) } quickFacts() { console.log(`${this._name} educates ${this._numberOfStudents} students at the ${this._level} school level.`) } static pickSubstituteTeacher(substituteTeachers) { const randomTeacher = Math.floor(Math.random() * substituteTeachers.length) console.log(substituteTeachers[randomTeacher]) } }// Primary Schoolclass PrimarySchool extends School { constructor(name, numberOfStudents, pickupPolicy) { super(name, 'primary', numberOfStudents) this._pickupPolicy = pickupPolicy } get pickupPolicy() { return this._pickupPolicy }}class HighSchool extends School { constructor(name, numberOfStudents, sportsTeams) { super(name,'high', numberOfStudents) this._sportsTeams = sportsTeams } get sportsTeams() { this._sportsTeams.forEach(team => { console.log(team) }) }}
1 回答

斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
您的实施有问题吗?
class Catalog{
constructor(){
this.schools = []
}
addSchool(school){
if(!this[school._name]){
// reference for easy access
this[school._name]=school;
}
this.schools.push(school);
}
}
如果我需要一个列表,我可以遍历并且仍然可以轻松地从中获得单所学校,这就是我会做的,
也就是说,根据您的要求,这可能是完全错误的。
乍一看,您的实现看起来并不正确,是不是给您带来了错误?
添加回答
举报
0/150
提交
取消