interface IGrade { releaseDate : Date ; grade : number ; } interface IApplyDate { predicted : Date ; applied : Date ; published : Date ; } export default class Evaluation { private weight : number ; private code : string ; private title : string ; private description : string ; private grades : IGrade [ ] ; private applyDates : IApplyDate ; constructor ( { applyDates , code , description , grades , title , weight } ) { this . applyDates = applyDates ; this . description = description ; this . grades = grades ; this . code = code ; this . title = title ; this . weight = weight ; } public setWeight ( weight ) { this . weight = weight ; } public getWeight ( ) { return this . weight ; } public setCode ( code ) { this . code = code ; } public getCode ( ) { return this . code ; } public setTitle ( title ) { this . title = title ; } public getTitle ( ) { return this . title ; } public setDescription ( description ) { this . description = description ; } public getDescription ( ) { return this . description ; } public setGrades ( grades ) { this . grades = grades ; } public getGrades ( ) { return this . grades ; } public setApplyDates ( applydates ) { this . applyDates = applydates ; } public getApplyDates ( ) { return this . applyDates ; } }