Programação Java
Interfaces
Prof. Márcio Henrique
Interface
 Interface não é uma classe
 Conjunto de requerimentos para as
classes que implementam a interface
 É um tipo genérico de definição de uma
classe que pode ser implementada
posteriormente.
 Como não é uma classe, você nunca
poderá usar o comando “new” para
intanciá-la
Interface
 Uma Interface não possui atributos, mas
podem possuir constantes definidas
(variáveis que utilizam os modificadores
static e final conjuntamente).
 public static float Pi = 3,14;
Interface
 Ex:
public interface Teste{
int Soma2(int x, int y );
}
 Os métodos da interface são por default,
publicos, o que dispensa o uso do
qualificador “public”
Interface
 Ex:
public class implementaTeste
implements Teste{
int Soma2(int x, int y ) {
return x + y;
}
}
Classes Abstratas
 Assim como as Interfaces, uma classe
abstrata serve apenas como modelo
para uma classe concreta, com a
exceção que ela pode conter
implementações. É usada para manter
alguma programação nas classes “Pai” ,
porém, como a interface, não pode ser
instanciada.
Classes Abstratas
 Enquanto uma interface é
implementada (implements), uma
classe abstrata é extendida (extends).
 A definição de uma classe abstrata deve
ser feita utilizando a palavra reservada
abstract
Classe Abstrata
public abstract class Pessoa{
public String Nome;
public float Salario;
public void setNome(String nome){
Nome = nome;
}
public abstract float calculaSalario();
}
Classes Abstratas
 O métodos estáticos (static) não podem
ser abstratos
 Construtores não podem se abstratos
 Os metodos abstratos não podem ser
privados.
Classes Internas
 Classes internas são as classes
definidas dentro de outras classes
 Geralmente , são usadas quando
precisamos acessar dados (métodos
e atributos) que estão no escopo da
classe em que foram definidas
Classes Internas
 Ex:
public class TestaClasseInterna {
private int a;
private int b;
public TestaClasseInterna(){
a = 2;
b = 3;
}
class Soma{
public Soma(int x, int y){
a = x;
b = y;
}
public int Soma2(){
return a + b;
}
}
Classes Internas
public int RetornaSoma(){
Soma S = new Soma(5,6);
return S.Soma2();
}
public static void main( String [] arg ){
TestaClasseInterna T = new TestaClasseInterna();
System.out.println(T.RetornaSoma());
}
}
Classes Anônimas
 Classes internas anônimas são aquelas
declaradas dentro de outra classe ou
método que, no momento da sua
declaração, o seu código é definido sem
a atribuição de um nome para a mesma.
 No momento da definição do seu
código, algum método pode ser
implementando, sobreescrito ou
sobrecarregado.
Classe Anônima
 Também é possível usar interfaces e
prover a sua implementação no
momento da criação da classe anônima
Classe Anônima
class ClasseSalario{
public float sal;
public float aumentaSalario(float percent){
}
}
class Funcionario{
public String Nome;
ClasseSalario Salario = new ClasseSalario(){
public float aumentaSalario(float percent){
sal += sal * percent/100;
return sal
}
}

Interfaces de programação em java2.0.pdf

  • 1.
  • 2.
    Interface  Interface nãoé uma classe  Conjunto de requerimentos para as classes que implementam a interface  É um tipo genérico de definição de uma classe que pode ser implementada posteriormente.  Como não é uma classe, você nunca poderá usar o comando “new” para intanciá-la
  • 3.
    Interface  Uma Interfacenão possui atributos, mas podem possuir constantes definidas (variáveis que utilizam os modificadores static e final conjuntamente).  public static float Pi = 3,14;
  • 4.
    Interface  Ex: public interfaceTeste{ int Soma2(int x, int y ); }  Os métodos da interface são por default, publicos, o que dispensa o uso do qualificador “public”
  • 5.
    Interface  Ex: public classimplementaTeste implements Teste{ int Soma2(int x, int y ) { return x + y; } }
  • 6.
    Classes Abstratas  Assimcomo as Interfaces, uma classe abstrata serve apenas como modelo para uma classe concreta, com a exceção que ela pode conter implementações. É usada para manter alguma programação nas classes “Pai” , porém, como a interface, não pode ser instanciada.
  • 7.
    Classes Abstratas  Enquantouma interface é implementada (implements), uma classe abstrata é extendida (extends).  A definição de uma classe abstrata deve ser feita utilizando a palavra reservada abstract
  • 8.
    Classe Abstrata public abstractclass Pessoa{ public String Nome; public float Salario; public void setNome(String nome){ Nome = nome; } public abstract float calculaSalario(); }
  • 9.
    Classes Abstratas  Ométodos estáticos (static) não podem ser abstratos  Construtores não podem se abstratos  Os metodos abstratos não podem ser privados.
  • 10.
    Classes Internas  Classesinternas são as classes definidas dentro de outras classes  Geralmente , são usadas quando precisamos acessar dados (métodos e atributos) que estão no escopo da classe em que foram definidas
  • 11.
    Classes Internas  Ex: publicclass TestaClasseInterna { private int a; private int b; public TestaClasseInterna(){ a = 2; b = 3; } class Soma{ public Soma(int x, int y){ a = x; b = y; } public int Soma2(){ return a + b; } }
  • 12.
    Classes Internas public intRetornaSoma(){ Soma S = new Soma(5,6); return S.Soma2(); } public static void main( String [] arg ){ TestaClasseInterna T = new TestaClasseInterna(); System.out.println(T.RetornaSoma()); } }
  • 13.
    Classes Anônimas  Classesinternas anônimas são aquelas declaradas dentro de outra classe ou método que, no momento da sua declaração, o seu código é definido sem a atribuição de um nome para a mesma.  No momento da definição do seu código, algum método pode ser implementando, sobreescrito ou sobrecarregado.
  • 14.
    Classe Anônima  Tambémé possível usar interfaces e prover a sua implementação no momento da criação da classe anônima
  • 15.
    Classe Anônima class ClasseSalario{ publicfloat sal; public float aumentaSalario(float percent){ } } class Funcionario{ public String Nome; ClasseSalario Salario = new ClasseSalario(){ public float aumentaSalario(float percent){ sal += sal * percent/100; return sal } }