Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Implementação de Composição | Composição
OOP Python Aprofundado

bookImplementação de Composição

Uma ótima maneira de demonstrar composição é construir um sistema de guerreiros de RPG passo a passo. Começando por classes simples de equipamentos e finalizando com um guerreiro totalmente interativo, cada componente contribui para um design dinâmico e flexível.

Note
Nota

Mesmo que certas classes como Armor ou Shield não participem imediatamente dos cálculos, é útil criá-las desde o início. Elas completam o equipamento do guerreiro, melhoram a clareza e preparam o sistema para futuras extensões.

O sistema começa com a classe Weapon. Ela define três atributos — name, attack e weapon type — e inclui um método de string que produz uma saída legível como “Broadsword, Attack 20”. O próximo passo introduz as classes Armor, Helmet e Shield. Cada uma possui um name, um defense value e um material type, também suportados por métodos de string.

A classe Enemy adiciona interação. Com um único atributo (HP) e um método take_damage(), ela reage a ataques reduzindo a vida, exibindo a quantidade perdida e anunciando a derrota quando a vida chega a zero.

O elemento central é a classe Warrior. Em vez de armazenar atributos brutos, ela mantém instâncias completas de outras classes: armadura, capacete e escudo são atribuídos na criação, enquanto o slot de arma começa vazio. O guerreiro pode:

  • equipar uma arma dinamicamente usando equip_weapon(),
  • atacar um inimigo com o valor de ataque da arma,
  • exibir o status obtendo informações dos equipamentos compostos.

Este sistema de guerreiro em RPG ilustra como múltiplos objetos interagem para criar um comportamento dinâmico. As armas definem o dano, os equipamentos completam a identidade do guerreiro e os inimigos fornecem feedback por meio do combate. O resultado é uma estrutura modular onde diferentes configurações levam a resultados distintos, tornando o sistema reutilizável e adaptável.

question mark

Qual afirmação melhor ilustra o papel da composição no sistema de guerreiro RPG?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 4.76

bookImplementação de Composição

Deslize para mostrar o menu

Uma ótima maneira de demonstrar composição é construir um sistema de guerreiros de RPG passo a passo. Começando por classes simples de equipamentos e finalizando com um guerreiro totalmente interativo, cada componente contribui para um design dinâmico e flexível.

Note
Nota

Mesmo que certas classes como Armor ou Shield não participem imediatamente dos cálculos, é útil criá-las desde o início. Elas completam o equipamento do guerreiro, melhoram a clareza e preparam o sistema para futuras extensões.

O sistema começa com a classe Weapon. Ela define três atributos — name, attack e weapon type — e inclui um método de string que produz uma saída legível como “Broadsword, Attack 20”. O próximo passo introduz as classes Armor, Helmet e Shield. Cada uma possui um name, um defense value e um material type, também suportados por métodos de string.

A classe Enemy adiciona interação. Com um único atributo (HP) e um método take_damage(), ela reage a ataques reduzindo a vida, exibindo a quantidade perdida e anunciando a derrota quando a vida chega a zero.

O elemento central é a classe Warrior. Em vez de armazenar atributos brutos, ela mantém instâncias completas de outras classes: armadura, capacete e escudo são atribuídos na criação, enquanto o slot de arma começa vazio. O guerreiro pode:

  • equipar uma arma dinamicamente usando equip_weapon(),
  • atacar um inimigo com o valor de ataque da arma,
  • exibir o status obtendo informações dos equipamentos compostos.

Este sistema de guerreiro em RPG ilustra como múltiplos objetos interagem para criar um comportamento dinâmico. As armas definem o dano, os equipamentos completam a identidade do guerreiro e os inimigos fornecem feedback por meio do combate. O resultado é uma estrutura modular onde diferentes configurações levam a resultados distintos, tornando o sistema reutilizável e adaptável.

question mark

Qual afirmação melhor ilustra o papel da composição no sistema de guerreiro RPG?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3
some-alt