Conceitos de Orientação a Objetos
No mundo da programação, existe um conceito muito utilizado, que é o conceito de orientação a objetos, que basicamente auxilia o desenvolvedor a economizar código, utilizando menos linhas de código para desenvolver um determinado sistema. Dentro da orientação a objetos, existem 4 pilares básicos para seguir para o desenvolvimento: Abstração, Encapsulamento, Herança e Polimorfismo. Esses pilares, muito utilizado na programação ajuda o desenvolvedor a deixar o código legível e a estrutura do projeto organizado. A partir de agora iremos mostrar os conceitos básicos desses quatro pilares da orientação a objetos:
Abstração: Coleta informações do mundo real. Esse princípio é responsável por implementar classes e objetos do mundo real para a programação. Implementar esses conceitos significa que qualquer situação pode ser implementada através da programação orientada a objetos.
Encapsulamento: Restrição de visibilidade de atributos e métodos de uma determinada classe. Esse princípio restringe a visibilidade de um atributo de uma classe, fazendo com que ele fique visível apenas para a classe na qual esses métodos pertencem. Porém, as informações desses métodos podem ser acessadas através dos métodos get() e set(), responsáveis por acessar as informações dos atributos da classe.
Herança: Princípio da orientação a objetos, cujo a finalidade é criar classes a partir de classes já existem, fazendo com que essas classes herdem características semelhantes, possuindo tambem características especificas que diferencie essas classes.
Polimorfismo: Princípio da orientação a objetos que diz que um objeto pode se comportar de diversas maneiras, fazendo com que o método utilizado pelo objeto pode retornar resultados diferentes.
A seguir iremos ver um exemplo simples sobre o que foi descrito anteriormente.
A seguir segue os códigos em linguagem Java das três classes que foram apresentadas acima. No código é utilizado uma palavra reservada extends. Essa palavra significa que a classe ira herdar as características da classe mãe.
public class Automovel {
private String chassi;
private String placa;
public String getChassi() {
return chassi;
}
public void setChassi(String chassi) {
this.chassi = chassi;
}
public String getPlaca() {
return placa;
}
public void setPlaca(String placa) {
this.placa = placa;
}
}
public class Carro extends Automovel {
private String marcaCarro;
public String getMarcaCarro() {
return marcaCarro;
}
public void setMarcaCarro(String marcaCarro) {
this.marcaCarro = marcaCarro;
}
}
public class Moto extends Automovel {
private String marcaMoto;
public String getMarcaMoto() {
return marcaMoto;
}
public void setMarcaMoto(String marcaMoto) {
this.marcaMoto = marcaMoto;
}
}
Fonte: ChatGPT.
Comments
Post a Comment