Buscar

Atividade 01 - ESTRUTURA DE DADOS COM ORIENTAÇÃO A OBJETOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Quais são os pilares da orientação a objetos? Explique a cada um deles 
 
Encapsulamento: é uma das principais técnicas que define a programação orientada a objetos, 
trata-se de um dos elementos que adicionam segurança à aplicação em uma programação 
orientada a objetos, pelo fato de esconder as propriedades, criando uma espécie de caixa 
preta ocultando partes independentes da implementação permitindo construir partes 
invisíveis ao mundo exterior. 
Abstração: consiste em um dos pontos mais importantes dentro de qualquer linguagem 
orientada a objetos, como uma representação de um objeto real (o que dá nome ao 
paradigma), temos que imaginar o que esse objeto irá realizar dentro de nosso sistema. 
São três pontos que devem ser levados em consideração nessa abstração: Identidade, 
Propriedade e métodos. Podemos alcançar abstração através de classes abstratas ou 
interfaces, que funcionam como uma espécie de contrato. Interfaces e classes abstratas 
apenas definem o que uma classe deve fazer, enquanto o dever da classe é implementar como 
a classe irá fazer. 
Herança: O reuso de código é uma das grandes vantagens da programação orientada a objeto, 
essa característica otimiza a produção da aplicação em tempo e linhas de código, onde como 
por exemplo, todas as pessoas herdam a aparência dos pais e as ações da espécie humana, 
como respirar e dormir. Trazendo para o contexto da programação, as classes podem herdar 
atributos e funções de outras classes. Chamamos as classes que transferem comportamentos e 
atributos de superclasses; e chamamos as classes que herdam esses comportamentos e 
atributos de subclasses. Por isso, superclasses normalmente são definições mais genéricas de 
uma entidade, enquanto as subclasses são definições mais específicas. 
Polimorfismo: Como sabemos os objetos-filhos herdam as características e ações de seus 
“ancestrais”, entretanto, em alguns casos, é necessário que as ações para um mesmo método 
sejam diferentes. Em outras palavras, o poliformismo permite herdar um método de classe pai 
e atribuir uma nova implementação para o método pré-definido. 
 
Verifique se existe dependência funcional entre os pilares identificados para sua 
implementação. Se houver, aponte quais são elas e justifique sua resposta 
Resposta: Sim, pois a POO traz representações objetivas de cada um dos elementos que 
normalmente, não são interdependentes e dessa independência entre as partes do software é 
que esse código poderá ser reutilizado em outros sistemas no futuro. 
A injeção de dependência é um padrão de projetos que nos ajuda a seguir os princípios sólidos 
de programação orientada a objetos, para reutilizar nosso código da maneira mais limpa e 
escalável possível. Isso nos ajuda a cumprir os 2 últimos princípios sólidos: Segregação de 
Interface e Inversão de Dependência. 
Consiste em mudar a lógica do nosso código para que, caso precisemos de um método ou 
atributo de alguma outra classe, não devamos chamar essa classe diretamente, mas sim 
adaptar nossas classes para que sejam flexíveis e nos permitam integrar qualquer outra classe 
que segue algumas regras.

Continue navegando