Вопрос задан 27.09.2023 в 23:51. Предмет Информатика. Спрашивает Решетов Данил.

Разработать и реализовать иерархию классов для описанных объектов предметной области, используя

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

   }

}

```

Объяснение:

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для создания иерархии классов, описывающей шоколадные изделия, можно использовать следующий код на языке программирования Python:

python
class ChocolateProduct: def __init__(self, name, weight, energy_per_100g): self.__name = name self.__weight = weight self.__energy_per_100g = energy_per_100g def get_name(self): return self.__name def get_weight(self): return self.__weight def get_energy_per_100g(self): return self.__energy_per_100g def display_info(self): print(f"Название: {self.__name}") print(f"Масса: {self.__weight} грамм") print(f"Энергетическая ценность на 100 грамм: {self.__energy_per_100g} ккал") def calculate_energy(self, quantity): return (self.__energy_per_100g * self.__weight * quantity) / 100 class ChocolateBar(ChocolateProduct): def __init__(self, name, weight, energy_per_100g, num_segments): super().__init__(name, weight, energy_per_100g) self.__num_segments = num_segments def get_num_segments(self): return self.__num_segments def display_info(self): super().display_info() print(f"Число долек в плитке: {self.__num_segments}") def calculate_total_energy(self): return self.calculate_energy(1) def calculate_energy_per_segment(self): return self.calculate_energy(1) / self.__num_segments # Пример использования классов: if __name__ == "__main__": choco_product = ChocolateProduct("Шоколадное изделие", 150, 550) choco_product.display_info() print(f"Энергетическая ценность: {choco_product.calculate_energy(2)} ккал") print() choco_bar = ChocolateBar("Шоколадная плитка", 100, 600, 10) choco_bar.display_info() print(f"Общая энергетическая ценность: {choco_bar.calculate_total_energy()} ккал") print(f"Энергетическая ценность одной дольки: {choco_bar.calculate_energy_per_segment()} ккал")

Этот код создает два класса: ChocolateProduct и ChocolateBar. Класс ChocolateBar наследует от класса ChocolateProduct. Каждый класс имеет свои поля, методы и функции для работы с энергетической ценностью.

0 0

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

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос