



Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Este documento fornece uma explicação sobre os conceitos básicos de orientação a objetos em java, incluindo abstração, encapsulamento, herança, polimorfismo e interface. A abstração é demonstrada por meio de uma classe abstrata tv, que é uma superclasse que não possui instâncias e define um modelo para uma funcionalidade compartilhada por um grupo de classes derivadas. O encapsulamento é explicado com o exemplo de uma classe pessoa, que limita o acesso a atributos através de seus métodos. A herança é ilustrada com uma classe filho, que herda todos os comportamentos e estados possíveis de outra classe, a super-classe pessoa. O polimorfismo é demonstrado com uma classe abstrata operacaomatematica e suas subclasses soma e diferenca, que têm métodos de mesmo nome. Por fim, a interface é explicada com uma interface peso e uma classe animal, que implementa a interface.
Tipologia: Notas de estudo
1 / 6
Esta página não é visível na pré-visualização
Não perca as partes importantes!




Conceitos De Orientação a Objeto em Java 1-Classe Abstrata Uma classe abstrata é desenvolvida para representar entidades e conceitos abstratos. A classe abstrata é sempre uma superclasse que não possui instâncias. Ela define um modelo ( template ) para uma funcionalidade e fornece uma implementação incompleta - a parte genérica dessa funcionalidade - que é compartilhada por um grupo de classes derivadas. Cada uma das classes derivadas, completa a funcionalidade da classe abstrata adicionando um comportamento específico. package aula_abstrata; public class Tv extends Eletrodomestico { private int tamanho; private int canal; private int volume; // abaixo teríamos todos os métodos construtores get e set... /**
this .volume = volume; } public Tv(int tamanho, int voltagem) { super (true, voltagem); // construtor classe abstrata this .setTamanho(tamanho); this .setCanal(canal); this .setVolume(voltagem); } /* implementação dos métodos abstratos */ public void desligar() { super .setLigado(false); setCanal(0); setVolume(0); } //construtor public void ligar() { super .setLigado(true); setCanal(3); setVolume(25); } } 2-Classe Encapsulamento: Em linguagens orientadas a objetos, é possível encapsular o estado de um objeto. Em termos práticos, isso se realiza limitando o acesso a atributos de uma classe exclusivamente através de seus métodos. Para isso, as linguagens orientadas a objeto oferecem limitadores de acesso para cada membro de uma classe. Tipicamente os limitadores de acesso são: público (public) - o membro pode ser acessado por qualquer classe. Os membros públicos de uma classe definem sua interface protegido (protected) - o membro pode ser acessado apenas pela própria classe e suas sub-classes privado (private) - o membro pode ser acessado apenas pela própria classe Exemplo: public class Pessoa { private String nome; public String getNome() { return nome;
public void setIdade(String idade) { this.idade = idade; } //construtor public Filho(String nome, String idade){ super(nome); this.setIdade(idade); } } 4-Classe Polimorfismo: O polimorfismo é caracterizado quando duas ou mais classes distintas tem métodos de mesmo nome, de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, sem necessidade de tratar de forma diferenciada conforme a classe do objeto. Uma das formas de implementar o polimorfismo é através de uma classe abstrata, cujos métodos são declarados mas não são definidos, e através de classes que herdam os métodos desta classe abstrata. package aula_Poliformismo; public abstract class OperacaoMatematica{ // unico metodo da classe public abstract double calculo(int x, int y); } package aula_Poliformismo; public class Soma extends OperacaoMatematica{ // unico metodo da classe public double calculo(int x, int y){ return x+y; } //construtor public Soma(){ }
package aula_Poliformismo; public class Diferenca extends OperacaoMatematica{ // unico metodo da classe public double calculo(int x, int y){ return x-y; } //construtor public Diferenca(){ } } package aula_Poliformismo; public class aplicacaoPoliformismo { /**