Skip to content

Commit

Permalink
fix txt
Browse files Browse the repository at this point in the history
  • Loading branch information
scovl committed Jul 19, 2024
1 parent a7d22d6 commit 885b2a1
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions 2024/07/18/oop/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -367,9 +367,7 @@ <h1 id="problemas-de-reutilização">Problemas de Reutilização</h1>
</span></span></span><span class="line"><span class="ln">29</span><span class="cl"><span class="w"> </span><span class="n">System</span><span class="p">.</span><span class="na">out</span><span class="p">.</span><span class="na">println</span><span class="p">(</span><span class="s">&#34;Flying in the sky.&#34;</span><span class="p">);</span><span class="w">
</span></span></span><span class="line"><span class="ln">30</span><span class="cl"><span class="w"> </span><span class="p">}</span><span class="w">
</span></span></span><span class="line"><span class="ln">31</span><span class="cl"><span class="w"></span><span class="p">}</span><span class="w">
</span></span></span></code></pre></div><p>Entendi o problema. Vou focar apenas na remoção de redundâncias, mantendo o texto o mais próximo possível do original.</p>
<hr>
<p>A classe <code>Animal</code> define métodos <code>breathe</code> e <code>eat</code> que todas as subclasses são forçadas a herdar. Isso pode não ser ideal para todos os tipos de animais, como os que possuem métodos de respiração ou alimentação únicos, exigindo que essas subclasses sobrescrevam esses métodos para comportamentos específicos. Todas as subclasses de <code>Animal</code> estão ligadas às implementações de <code>breathe</code> e <code>eat</code> da superclasse.</p>
</span></span></span></code></pre></div><p>A classe <code>Animal</code> define métodos <code>breathe</code> e <code>eat</code> que todas as subclasses são forçadas a herdar. Isso pode não ser ideal para todos os tipos de animais, como os que possuem métodos de respiração ou alimentação únicos, exigindo que essas subclasses sobrescrevam esses métodos para comportamentos específicos. Todas as subclasses de <code>Animal</code> estão ligadas às implementações de <code>breathe</code> e <code>eat</code> da superclasse.</p>
<p>Qualquer mudança nos métodos da classe <code>Animal</code> pode ter efeitos colaterais em <code>Fish</code>, <code>Bird</code> e outras subclasses. Por exemplo, se adicionarmos um método <code>sleep</code> na classe <code>Animal</code> que define como os animais dormem, todas as subclasses terão esse método, mesmo que a maneira de dormir varie entre diferentes tipos de animais, ou mesmo não seja relevante para todos.</p>
<p>Este exemplo ilustra como a herança em Java pode introduzir rigidez e acoplamento entre classes. A herança obriga as subclasses a aderirem à interface e ao comportamento da superclasse, o que pode não ser desejável e pode limitar a flexibilidade do design. Mudanças na superclasse podem afetar todas as subclasses de maneiras não previstas, tornando o sistema mais difícil de manter e evoluir. A composição, em vez de herança, é frequentemente recomendada para mitigar esses problemas, permitindo maior flexibilidade e reduzindo o acoplamento indesejado.</p>
<p>Em contraste, Clojure favorece uma abordagem de composição funcional, onde a reutilização do código é alcançada combinando funções menores e mais genéricas. Essa abordagem reduz o acoplamento e aumenta a flexibilidade, permitindo que os desenvolvedores construam novas funcionalidades de maneira mais previsível e segura.</p>
Expand Down

0 comments on commit 885b2a1

Please sign in to comment.