Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save karabanovbs/8a5215aebfe0fae0d441fd8444359161 to your computer and use it in GitHub Desktop.
Save karabanovbs/8a5215aebfe0fae0d441fd8444359161 to your computer and use it in GitHub Desktop.
// 2.7 Генерики
// Представьте, что разрабатывайте фентезийную игру.
// В игре есть гоблины и орки. Они спавнятся в пещерах.
// Создайте классы:
// Goblin
// Hobogoblin extends Goblin
// Orc
// Lair - пещера гоблинов, которая может вмещать в себя только гоблинов и наследников
// Создайте экземпляр класса Lair. В качестве типа поставьте гоблина, хогоблина и орка. Результат опишите в комментариях
class Goblin {}
class Hobogoblin extends Goblin {}
class Orc {}
class Lair<T extends Goblin> {}
void main() {
Lair<Goblin>();
Lair<Hobogoblin>();
// Ошибка компиляции Orc не наследник Goblin
Lair<Orc>();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment