abstract class BaseVideo {
constructor(
public ID: string,
public Title: string,
public Duration: number
) {}
getInfo() {
return `ID: ${this.ID}, Title: ${this.Title}, Duration: ${this.Duration}`
}
abstract play(): void
}
class YouTubeVideo extends BaseVideo {
addToPlaylist(playlistName: string) {
console.log(`Добавлен в плейлист ${playlistName}`)
}
play() {
console.log(`Запускаю длинное видео ${this.Title} ...`)
}
}
class Shorts extends BaseVideo {
constructor(ID: string, Title: string, Duration: number) {
if (Duration > 60) {
throw new Error("Ошибка: превышение лимита длительности")
}
super(ID, Title, Duration)
}
play() {
console.log(`Запускаю шортс ${this.Title} ...`)
}
}Задача была интересная , проблемы возникли с проверкой длины шортса, но я разобрался 🥳