Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Media {
- constructor(title){
- this._title = title
- this._isCheckedOut = false
- this._ratings = []
- }
- get title() {
- return this._titel;
- }
- get isCheckedOut() {
- return this._isCheckedOut;
- }
- get ratings() {
- return this._ratings;
- }
- set isCheckedOut(value) {
- this._isCheckedOut = value;
- }
- toggleCheckOutStatus() {
- this.isCheckedOut = !this.isCheckedOut;
- }
- getAverageRating() {
- let ratingsSum = this.ratings.reduce((accumulator, rating) => accumulator + rating )
- return ratingsSum / this.ratings.length;
- }
- addRating(value) {
- this.ratings.push(value);
- }
- };
- class Book extends Media {
- constructor(author, title, pages) {
- super(title)
- this._author = author
- this._pages = pages
- }
- get title() {
- return this._title;
- }
- get author() {
- return this._author;
- }
- get pages() {
- return this._pages;
- }
- };
- class Movie extends Media {
- constructor(director, title, runTime) {
- super(title)
- this._director = director
- this._runTime = runTime
- }
- get title() {
- return this._title;
- }
- get director() {
- return this._director;
- }
- get runTime() {
- return this._runTime;
- }
- };
- const historyOfEverything = new Book('Billy Bryson', 'A Short History of Nearly Everything', 554);
- historyOfEverything.toggleCheckOutStatus;
- console.log(historyOfEverything.isCheckedOut);
- historyOfEverything.addRating(4);
- historyOfEverything.addRating(5);
- historyOfEverything.addRating(5);
- historyOfEverything.getAverageRating;
- console.log(historyOfEverything.getAverageRating)
- const speed = new Movie('Jan de Bont', 'Speed', 116);
- speed.toggleCheckOutStatus;
- console.log(speed.isCheckedOut);
- speed.addRating(1);
- speed.addRating(1);
- speed.addRating(5);
- console.log(speed.getAverageRating);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement