Prévia do material em texto
Tema 22: Desenvolvimento de Software Orientado a Objetos Desenvolvimento de Software Orientado a ObjetosO paradigma de programação orientada a objetos (POO) é um dos mais populares e utilizados na construção de software moderno. Ele organiza o código em torno de objetos, que são instâncias de classes. Uma classe define um tipo de dado, enquanto um objeto é uma instância dessa classe, contendo atributos e métodos. A POO foca na modularidade, reusabilidade e manutenibilidade do código, facilitando a criação de sistemas complexos.Os principais conceitos da POO são: 1. Encapsulamento: O encapsulamento é o mecanismo que permite esconder os detalhes internos de um objeto e expor apenas o que é necessário. Ele garante que o acesso aos dados de um objeto seja feito apenas por meio de seus métodos. Isso ajuda a proteger os dados de alterações externas e reduz a complexidade do sistema. 2. Herança: A herança é o mecanismo que permite a criação de novas classes a partir de classes existentes. Uma classe filha herda atributos e métodos da classe pai, o que permite a reutilização de código. Além disso, a herança promove a hierarquia e a especialização de classes. 3. Polimorfismo: O polimorfismo permite que um único método ou operação tenha comportamentos diferentes dependendo do tipo de objeto que o utiliza. Isso permite que o mesmo código seja reutilizado de maneira eficiente, mas com comportamentos específicos conforme o contexto. O polimorfismo pode ser em tempo de compilação (sobrecarga de métodos) ou em tempo de execução (sobrescrita de métodos). 4. Abstração: A abstração é o processo de esconder a complexidade de um sistema e exibir apenas as características essenciais. Ela permite que os desenvolvedores lidem com conceitos de alto nível e não se preocupem com os detalhes de implementação. A POO traz benefícios como a organização do código, facilitando a manutenção e a compreensão de sistemas grandes. Além disso, ela permite modularidade, o que facilita a colaboração entre equipes de desenvolvimento, além de reusabilidade, já que o código pode ser reutilizado em diferentes partes do sistema ou em novos projetos. No entanto, a POO pode ser mais complexa em comparação com a programação procedural e pode resultar em maior sobrecarga de desempenho devido à abstração e à criação de objetos. Questões 1. Qual é o principal benefício do encapsulamento na programação orientada a objetos? A) Permite que objetos compartilhem seus dados livremente entre si. x B) Protege os dados de alterações externas e permite o acesso controlado por métodos. C) Torna o código mais complexo e difícil de manter. D) Facilita a criação de objetos a partir de outros objetos. 2. O que caracteriza a herança na programação orientada a objetos? A) Permite que uma classe seja substituída por outra durante a execução. B) Permite que os métodos de uma classe sejam sobrecarregados em tempo de compilação. x C) Permite que uma classe filha herde atributos e métodos de uma classe pai. D) Permite que objetos sejam criados a partir de variáveis simples. 3. O que é polimorfismo na programação orientada a objetos? A) A capacidade de modificar os dados de um objeto diretamente. B) A capacidade de ocultar os detalhes de implementação de um sistema. C) A capacidade de alterar o comportamento de um método dependendo do objeto que o utiliza. x D) A capacidade de herdar funcionalidades de classes de maneira eficiente.