1 - Composição de objetos

Enquanto a extensão de classes em Java oferece aos desenvolvedores flexibilidade significativa na capacidade de redefinir aspectos dos objetos à medida que eles são utilizados em contextos diferentes, é necessária uma quantidade considerável de experiência para que se possa utilizar adequadamente classes e interfaces.

De um modo ideal, desenvolvedores procuram criar seções de código tolerantes a alterações que ocorram com o passar do tempo e que possam ser reutilizados no maior número possível de contextos distintos, em múltiplas aplicações, ou até mesmo como bibliotecas. Ao programar nesses moldes, é possível reduzir significativamente o número de bugs bem como o tempo necessário para corrigir aqueles que por ventura apareçam no futuro. Programação modular, encapsulamento, polimorfismo, separação de interesses/responsabilidades, dentre outros, são estratégias essenciais para maximização da reutilização e da estabilidade do código.

No desenvolvimento orientado a objeto, uma consideração fundamental de projeto se relaciona à decisão de quais tipos de relacionamentos serão utilizados entre as diversas classes de forma que seja possível reutilizar código preexistente. De modo conjunto aos exemplos apresentados nos módulos anteriores, iremos criar mais uma classe de modo que seja demonstrado um outro relacionamento denominado de composição, o qual é constantemente utilizado por qualquer projeto orientado a objeto.

Copyright © 2016 AIEC.