Baixe o app para aproveitar ainda mais
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.
Compartilhar