Mind map
Programação Orientada a Objeto
Map content
Programação Orientada a Objeto
Conceito
- Um paradigma de programação que se propõe a abordar o design de um sistema em termos de entidades, os objetos, e relacionamentos entre essas entidades.
- Metodos
- Os métodos são procedimentos ou funções que realizam as ações próprias do objeto. Assim, os métodos são as ações que o objeto pode realizar. Tudo o que o objeto faz é através de seus métodos, pois é através dos seus métodos que um objeto se manifesta, através deles que o objeto interage com os outros objetos.
- Encapsulamento
- Se trata do fato de esconder as propriedades, criando uma espécie de caixa preta. Sempre com os métodos privados ligadas a métodos especiais chamados getters e setters, que irão retornar e setar o valor da propriedade, respectivamente. O encapsulamento evita o acesso direto a propriedade do objeto, adicionando uma outra camada de segurança à aplicação.
- Nível de classe: Quando determinamos o acesso de uma classe inteira que pode ser public ou Package-Private (padrão);
- Nível de membro: Quando determinamos o acesso de atributos ou métodos de uma classe que podem ser public, private, protected ou Package-Private (padrão).
Aplicação
- Usamos a orientação a objetos para nos basear na vida real e resolver problemas de software, ou pelo menos tentamos. Ela acaba sendo uma base inclusive para outros paradigmas
Vantagens
- Todo software orientado a objeto é confiável (ao alterar uma parte nenhuma outra é afetada)
- O software orientado a objeto é oportuno (ao dividir tudo em partes, várias delas podem ser desenvolvidas em paralelo)
- O software orientado a objeto é manutenível (atualizar um software é mais fácil, uma pequena modificação beneficia todas as partes que usarem o objeto)
- Ele também é extensível (o software não é estático, deve crescer para permanecer útil)
- O software orientado a objeto é reutilizável (podemos usar o objeto de um sistema que criamos em outro sistema que viermos a criar)
- Ele é natural (todo software orientado a objeto tem que ser natural, pois é mais fácil de entender, se preocupa mais com a funcionalidade do que com os detalhes de implementação)
Desvantagens
- A execução de uma aplicação orientada a objetos é mais lenta do que o que vemos na programação estruturada, por exemplo.
- Outra desvantagem seria que a programação estruturada, quando bem feita, possui um desempenho superior ao que vemos na programação orientada a objetos. Isso ocorre pelo fato de ser um paradigma sequencial, em que cada linha de código é executada após a outra, sem muitos desvios, como vemos na POO.
Evolução da Historia
- quando começaram a surgir os primeiros programas de computador, nas décadas de 40 e 50, a Programação era em Baixo Nível. Não existia nenhum tipo de comando para se criar um programa. As instruções eram dadas aos computadores do modo que eles entendiam.
- Se o computador era do tipo A, a programação era de um tipo; se o computador era do tipo B, a programação era de outro tipo, e por aí vai. Esta diferenciação dificultava muito a programação
- Foi então que, depois disso, surgiram de forma modesta as linguagens de alto nível e a Programação se tornou Linear, com comandos que eram compreensíveis pelos programadores, mas sem rotinas internas e sem uma programação estruturada.
Principais linguagens
- Java
- C#
- Python
Sobrecarga
- Consiste em permitir, dentro da mesma classe, mais de um método com o mesmo nome. Entretanto, eles necessariamente devem possuir argumentos diferentes para funcionar. RICARTE (2001) afirma que a escolha de qual método irá ser chamado pelo programa principal dependerá de acordo com o seu tipo de objeto, que será tomada apenas no tempo de execução por meio de ligação tardia.
Information
- Description
- Mind Map on Programação Orientada a Objeto, created by Pedro Freitas on 25/03/2022.
- Created by
- Pedro Freitas
- Views
- 0
- Rating