Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Conceitos Básicos de OO em Java: Abstração, Encapsulamento, Herança, Polimorfismo e Interf, Notas de estudo de Informática

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

2013

Compartilhado em 12/04/2013

alex-jose-10
alex-jose-10 🇧🇷

1 documento

1 / 6

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
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...
/**
* @return the tamanho
*/
public int getTamanho() {
return tamanho;
}
/**
* @param tamanho the tamanho to set
*/
public void setTamanho(int tamanho) {
this.tamanho = tamanho;
}
/**
* @return the canal
*/
public int getCanal() {
return canal;
}
/**
* @param canal the canal to set
*/
public void setCanal(int canal) {
this.canal = canal;
}
/**
* @return the volume
*/
public int getVolume() {
return volume;
}
/**
* @param volume the volume to set
*/
public void setVolume(int volume) {
pf3
pf4
pf5

Pré-visualização parcial do texto

Baixe Conceitos Básicos de OO em Java: Abstração, Encapsulamento, Herança, Polimorfismo e Interf e outras Notas de estudo em PDF para Informática, somente na Docsity!

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... /**

  • @return the tamanho / public int getTamanho() { return tamanho; } /*
  • @param tamanho the tamanho to set / public void setTamanho(int tamanho) { this .tamanho = tamanho; } /*
  • @return the canal / public int getCanal() { return canal; } /*
  • @param canal the canal to set / public void setCanal(int canal) { this .canal = canal; } /*
  • @return the volume / public int getVolume() { return volume; } /*
  • @param volume the volume to set */ public void setVolume(int volume) {

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 { /**

  • @param args */ public static void main(String[] args) { // TODO Auto-generated method stub double resultado; Soma soma = new Soma(); resultado = soma.calculo(1, 3); System.out.println("Resultado: "+resultado); Diferenca dif = new Diferenca(); resultado = dif.calculo(1, 4); System.out.println("Resultado: "+resultado); } } 5-Classe Interface Uma interface modela um comportamento esperado. Pode-se entendê-la como uma classe que contenha apenas métodos abstratos. Embora uma classe não possa conter mais de uma super classe, a classe pode implementar mais de uma interface. package aula_Interface; public interface Peso { //prototipo de um metodo abstrato public double obterPeso();