12.07.2015 Views

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

k19-k11-orientacao-a.. - Departamento de Sistemas e Computação

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Calling MariaENCAPSULAMENTO 76No contexto da orientação a objetos, aplicamos o encapsulamento para criar objetos mais simples<strong>de</strong> serem utilizados em qualquer parte do sistema.Figura 7.1: CelularCarro - Evitando efeitos colateirasA interface <strong>de</strong> uso <strong>de</strong> um carro é composta pelos dispositivos que permitem que o motoristaconduza o veículo (volante, pedais, alavanca do câmbio, etc).A implementação do carro é composta pelos dispositivos internos (motor, caixa <strong>de</strong> câmbio, radiador,sistema <strong>de</strong> injeção eletrônica ou carburador, etc) e pelos processos realizados internamentepor esses dispositivos.Nos carros mais antigos, o dispositivo interno que leva o combustível para o motor é o carburador.Nos carros mais novos, o carburador foi substituído pelo sistema <strong>de</strong> injeção eletrônica. Inclusive,algumas oficinas especializadas substituem o carburador pelo sistema <strong>de</strong> injeção eletrônica.Essa alteração na implementação do carro não afeta a maneira que o motorista dirige. Todo mundoque sabe dirigir um carro com carburador também sabe dirigir um carro com injeção eletrônica.Hoje em dia, as montadoras fabricam veículos com câmbio mecânico ou automático. O motoristaacostumado a dirigir carros com câmbio mecânico po<strong>de</strong> ter dificulda<strong>de</strong> para dirigir carros comcâmbio automático e vice-versa. Quando a interface <strong>de</strong> uso do carro é alterada, a maneira <strong>de</strong> dirigiré afetada, fazendo com que as pessoas que sabem dirigir tenham que se adaptar.No contexto da orientação a objetos, aplicando o conceito do encapsulamento, as implementaçõesdos objetos ficam “escondidas”. Dessa forma, po<strong>de</strong>mos modificá-las sem afetar a maneira <strong>de</strong>utilizar esses objetos. Por outro lado, se alterarmos a interface <strong>de</strong> uso que está exposta, afetaremos amaneira <strong>de</strong> usar os objetos.Consi<strong>de</strong>re, por exemplo, a mudança do nome <strong>de</strong> um método público. Todas as chamadas a essemétodo <strong>de</strong>vem ser alteradas, o que po<strong>de</strong> causar diversos efeitos colaterais nas classes da aplicação.76 www.<strong>k19</strong>.com.br

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!