Предмет: Информатика, автор: SoftNion

Разработать и реализовать иерархию классов для описанных объектов предметной области, используя механизмы наследования. Протестировать все методы каждого класса. Все поля классов должны быть скрытыми (private) или защищенными (protected). Методы не должны содержать операций ввода/вывода, за исключением процедуры, единственной задачей которой является вывод информации об объекте на экран.
Объект – шоколадное изделие. Поля: название, масса, энергетическая ценность на 100 грамм продукта. Методы: процедура инициализации, процедура вывода информации об объекте на экран, функция определения энергетической ценности изделия.
Объект – шоколадная плитка. Поля: название, масса, энергетическая ценность на 100 грамм, число долек в плитке. Методы: процедура инициализации, процедура вывода информации об объекте на экран, функция определения энергетической ценности плитки и функция определения энергетической ценности одной дольки

Ответы

Автор ответа: crystaltech73
0

Ответ:

Вот примерно такой код на TypeScript:

```

class ShokoladnoeIzdelie {

   protected title: string;

   protected mass: number;

   protected energy: number;

   constructor(title, mass, energy) {

       // Процедура инициализации

   }

   printData() {

       // процедура вывода информации об объекте на экран

       console.log(`Название: ${this.title}`)

       console.log(`Масса: ${this.mass}`)

       console.log(`Энергетическая ценность на 100 грамм продукта: ${this.energy}`)

   }

   getEnergy(): number {

       // функция определения энергетической ценности изделия

       return (this.mass / 100) * this.energy

   }

}

class ShokoladnayaPlitka extends ShokoladnoeIzdelie {

   private dolkiCount: number;

   constructor(title, mass, energy, dolkiCount) {

       // Процедура инициализации

       super(title, mass, energy)

   }

   printData() {

       // процедура вывода информации об объекте на экран

       console.log(`Название: ${this.title}`)

       console.log(`Масса: ${this.mass}`)

       console.log(`Энергетическая ценность на 100 грамм продукта: ${this.energy}`)

       console.log(`Число долек в плитке: ${this.dolkiCount}`)

   }

   getEnergyWhole(): number {

       // функция определения энергетической ценности плитки

       return super.getEnergy()

   }

   getEnergyDolka(): number {

       // функция определения энергетической ценности одной дольки

       return super.getEnergy() / this.dolkiCount

   }

}

```

Объяснение:

Комментарии в коде

Похожие вопросы