SlideShare uma empresa Scribd logo
Programação OO
Instituto Federal de Goiás
Campus Luziânia
Técnico Em Informática     
ramirovictor3@gmail.com
Classe abstrata
02/08/18Prof. Ramiro Victor 2
 Algumas vezes classes no topo da hierarquia são muito
gerais:
 O que é uma forma?
 Como se desenha uma forma?
 Tais operações não fazem sentido. Queremos apenas
definir que elas existam, mas não implementá-las;
 A solução: métodos abstratos.
Classe abstrata
oExistem circunstâncias onde métodos específicos
não devem ser implementados em uma classe,
mas apenas fornecidas suas especificações.
oO emprego do modificador abstract permite a
declaração de um protótipo (método sem bloco
de código ), adiando sua implementação para
suas subclasses.
02/08/18Prof. Ramiro Victor 3
Classe abstrata

Uma classe abstrata serve apenas como modelo
para uma classe concreta (classe que comumente
usamos).

Como classes abstratas são modelos de classes,
então, não podem ser instanciadas diretamente
com o new, elas sempre devem ser herdadas por
classes concretas.
public abstract class Mamifero{
/* ... */
}
02/08/18Prof. Ramiro Victor 4
Classe abstrata
oCaracterísticas das Classes Abstratas:
 Declarar um método como abstract, torna a
classe obrigatoriamente abstract
 Define um contrato a fim de que suas subclasses
implementem os métodos abstract
 As subclasses não podem ser instânciadas sem a
implementação dos métodos abstract
 Mesmo sem métodos abstract uma classe pode
ser abstrata para evitar a instanciação dos seu
objetos.
public abstract class Mamifero{
public abstract String metodo();
} 02/08/18Prof. Ramiro Victor 5
Classe abstrata
02/08/18Prof. Ramiro Victor 6
// Classe abstrata pura.
public abstract class Forma {
public abstract void desenhar();
public abstract void aumentar(int t);
}
// Classe abstrata.
public abstract class Poligono extends Forma {
private int lados;
public Poligono(int lados) {
this.lados = lados;
}
public int getLados() { return lados; }
public abstract void pintar(int cor);
}
Classe abstrata
02/08/18Prof. Ramiro Victor 7
// Classe concreta.
class Retangulo extends Poligono {
public Retangulo() {
super(4);
}
public void desenhar() {
System.out.println("Retangulo.desenhar");
}
public void aumentar(int t) {
System.out.println("Retangulo.aumentar");
}
public void pintar(int cor) {
System.out.println("Retangulo.pintar");
}
}
Palavra chave - FINAL
02/08/18Prof. Ramiro Victor 8
 Não podem ser herdadas
 Não possuem subclasses
 Não podem ser abstratas
 Por conseqüência, não possuem métodos abstratos
 Classe que não pode ser herdada
public final class Imutavel(){
//Implementação da Classe
}
 Método que não pode ser redefinido
public class Teste(){
public final void metodoImutavel(){}
}
Interfaces

Interface é um recurso da orientação a objeto
utilizado em Java que define ações que devem ser
obrigatoriamente executadas, mas que cada classe
pode executar de forma diferente.
Na linguagem de programação Java, uma interface não é uma
classe, mas um conjunto de requisitos para classes que precisam
adequar se a ela. (CORE Java)
É um tipo especial de classe 100% abstrata “pura”;
Você nunca pode utilizar o operador
new para instanciar uma interface;
02/08/18Prof. Ramiro Victor 9
Interfaces

Podemos ter uma interface chamada aéreo que
possui a assinatura do método voar().

Toda classe que implementar aéreo deve dizer
como voar().

Imagine uma classe chamada pássaro e outra
chamada avião. Ambas implementando a
interface aéreo, então, devemos codificar a forma
como cada um irá voar().
02/08/18Prof. Ramiro Victor 10
Interfaces
02/08/18Prof. Ramiro Victor 11
 Estabelece a interface (contrato) de um conjunto de
classes;
 Classes utilizam implements ao invés de extends para
implementar uma interface;
 Classes podem implementar mais de uma interface.
Interfaces
oUma Interface não pode conter métodos privados.
oEm java as Interface são tipos especiais de classes
que podem conter assinatura de métodos, mas
não sua implementação;
public interface Imprimivel { public void imprimir(); }
02/08/18Prof. Ramiro Victor 12
Interfaces
02/08/18Prof. Ramiro Victor 13
public interface Forma {
void desenhar();
void aumentar(int t);
}
public class Linha implements Forma {
private int x1, y1, x2, y2;
public void desenhar() {
/* ... */
}
public void aumentar(int t) {
/* ... */
}
}
Interfaces
02/08/18Prof. Ramiro Victor 14
 Métodos definidos na interface são automaticamente
públicos;
 Atributos definidos na interface são automaticamente
públicos, estáticos e final.
public interface Forma {
int X;
void desenhar();
}
public interface Forma {
public static final int X;
public void desenhar();
}
Definições Iguais

Mais conteúdo relacionado

PDF
Reuso com Herança e Composição
PDF
Classes abstratas e interfaces
PDF
Curso java 07 - exceções
PPTX
Introdução ao C#
PDF
Java orientação a objetos (interfaces)
PPTX
Tratamento de exceções em Java
PPTX
Reuso com Herança e Composição
Classes abstratas e interfaces
Curso java 07 - exceções
Introdução ao C#
Java orientação a objetos (interfaces)
Tratamento de exceções em Java

Mais procurados (19)

PDF
POO - 22 - Tratamento de Exceções em Java
PPTX
Design Patterns (MSDN Webcast)
PDF
Tratamento de exceções em Java
ODP
Java 13 Excecoes
PPTX
Aprenda Como criar uma animação no scratch
PPTX
JAVA - Tratamento de Erros
PDF
Erros, exceções e asserções
PDF
Algoritmos e Visualg parte 1
PDF
Certificação Java: Exceções
PPTX
Hands on guiado .Net Core
PPTX
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
PPT
Tratamento de exceções java
PPTX
Aula 07 - Visualg e Pseudocódigo
PDF
LabMM3 - Aula teórica 02
PDF
Apostila sobre o Visualg
PPTX
Semana 3: Introdução à linguagem de programação Java
PPT
Exceptions Em Java UFF
POO - 22 - Tratamento de Exceções em Java
Design Patterns (MSDN Webcast)
Tratamento de exceções em Java
Java 13 Excecoes
Aprenda Como criar uma animação no scratch
JAVA - Tratamento de Erros
Erros, exceções e asserções
Algoritmos e Visualg parte 1
Certificação Java: Exceções
Hands on guiado .Net Core
13. Polimorfismo de subtipos; Análise, desenho e implementação – Fundamentos ...
Tratamento de exceções java
Aula 07 - Visualg e Pseudocódigo
LabMM3 - Aula teórica 02
Apostila sobre o Visualg
Semana 3: Introdução à linguagem de programação Java
Exceptions Em Java UFF
Anúncio

Semelhante a Programação OO - Java (20)

PDF
A linguagem java
ODP
Java 10 Classes Abstratas Interfaces
PDF
Curso de OO com C# - Parte 01 - Orientação a objetos
PPTX
Programação Orientada a Objetos parte 2
PPTX
Curso Java Básico - Aula02
PDF
ebook-completo c# o melhor para começar no c#
PPTX
Final e aastract
PDF
Reuso com Herança e Composição
PDF
Java 06
PDF
Programação Orientada a Objetos
PDF
Interfaces de programação em java2.0.pdf
PDF
Java aprendendo linguagem.ppt
PPTX
Curso de Java 4 - (Orientação a Objetos).pptx
PPTX
Orientação a Objetos
PDF
Interfaces e polimorfismo
PDF
Interfaces e Porlimosfismo
PDF
POO - 17 - Interfaces
ODP
Programação Defensiva
A linguagem java
Java 10 Classes Abstratas Interfaces
Curso de OO com C# - Parte 01 - Orientação a objetos
Programação Orientada a Objetos parte 2
Curso Java Básico - Aula02
ebook-completo c# o melhor para começar no c#
Final e aastract
Reuso com Herança e Composição
Java 06
Programação Orientada a Objetos
Interfaces de programação em java2.0.pdf
Java aprendendo linguagem.ppt
Curso de Java 4 - (Orientação a Objetos).pptx
Orientação a Objetos
Interfaces e polimorfismo
Interfaces e Porlimosfismo
POO - 17 - Interfaces
Programação Defensiva
Anúncio

Mais de Secretaria de Educação de Goiás (7)

PDF
Programação OO - Java
PDF
Programação OO - Java
PDF
Programação OO - Java
PDF
Programação OO - Java
PDF
Programação OO - Java
PDF
Programação OO - Java
PPTX
Uso das tecnologias moveis na educação superior
Programação OO - Java
Programação OO - Java
Programação OO - Java
Programação OO - Java
Programação OO - Java
Programação OO - Java
Uso das tecnologias moveis na educação superior

Último (20)

PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PPTX
Aula sobre banco de dados com firebase db
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Aula sobre desenvolvimento de aplicativos
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e liquidação no SAP Transportation Management, TM130 Col18
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Curso de Java 9 - (Threads) Multitarefas.pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Aula sobre banco de dados com firebase db
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Aula sobre desenvolvimento de aplicativos
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Apple Pippin Uma breve introdução. - David Glotz
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Processos na gestão de transportes, TM100 Col18
Curso de Java 12 - (JDBC, Transation, Commit e Rollback).pptx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express

Programação OO - Java

  • 1. Programação OO Instituto Federal de Goiás Campus Luziânia Técnico Em Informática      ramirovictor3@gmail.com
  • 2. Classe abstrata 02/08/18Prof. Ramiro Victor 2  Algumas vezes classes no topo da hierarquia são muito gerais:  O que é uma forma?  Como se desenha uma forma?  Tais operações não fazem sentido. Queremos apenas definir que elas existam, mas não implementá-las;  A solução: métodos abstratos.
  • 3. Classe abstrata oExistem circunstâncias onde métodos específicos não devem ser implementados em uma classe, mas apenas fornecidas suas especificações. oO emprego do modificador abstract permite a declaração de um protótipo (método sem bloco de código ), adiando sua implementação para suas subclasses. 02/08/18Prof. Ramiro Victor 3
  • 4. Classe abstrata  Uma classe abstrata serve apenas como modelo para uma classe concreta (classe que comumente usamos).  Como classes abstratas são modelos de classes, então, não podem ser instanciadas diretamente com o new, elas sempre devem ser herdadas por classes concretas. public abstract class Mamifero{ /* ... */ } 02/08/18Prof. Ramiro Victor 4
  • 5. Classe abstrata oCaracterísticas das Classes Abstratas:  Declarar um método como abstract, torna a classe obrigatoriamente abstract  Define um contrato a fim de que suas subclasses implementem os métodos abstract  As subclasses não podem ser instânciadas sem a implementação dos métodos abstract  Mesmo sem métodos abstract uma classe pode ser abstrata para evitar a instanciação dos seu objetos. public abstract class Mamifero{ public abstract String metodo(); } 02/08/18Prof. Ramiro Victor 5
  • 6. Classe abstrata 02/08/18Prof. Ramiro Victor 6 // Classe abstrata pura. public abstract class Forma { public abstract void desenhar(); public abstract void aumentar(int t); } // Classe abstrata. public abstract class Poligono extends Forma { private int lados; public Poligono(int lados) { this.lados = lados; } public int getLados() { return lados; } public abstract void pintar(int cor); }
  • 7. Classe abstrata 02/08/18Prof. Ramiro Victor 7 // Classe concreta. class Retangulo extends Poligono { public Retangulo() { super(4); } public void desenhar() { System.out.println("Retangulo.desenhar"); } public void aumentar(int t) { System.out.println("Retangulo.aumentar"); } public void pintar(int cor) { System.out.println("Retangulo.pintar"); } }
  • 8. Palavra chave - FINAL 02/08/18Prof. Ramiro Victor 8  Não podem ser herdadas  Não possuem subclasses  Não podem ser abstratas  Por conseqüência, não possuem métodos abstratos  Classe que não pode ser herdada public final class Imutavel(){ //Implementação da Classe }  Método que não pode ser redefinido public class Teste(){ public final void metodoImutavel(){} }
  • 9. Interfaces  Interface é um recurso da orientação a objeto utilizado em Java que define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente. Na linguagem de programação Java, uma interface não é uma classe, mas um conjunto de requisitos para classes que precisam adequar se a ela. (CORE Java) É um tipo especial de classe 100% abstrata “pura”; Você nunca pode utilizar o operador new para instanciar uma interface; 02/08/18Prof. Ramiro Victor 9
  • 10. Interfaces  Podemos ter uma interface chamada aéreo que possui a assinatura do método voar().  Toda classe que implementar aéreo deve dizer como voar().  Imagine uma classe chamada pássaro e outra chamada avião. Ambas implementando a interface aéreo, então, devemos codificar a forma como cada um irá voar(). 02/08/18Prof. Ramiro Victor 10
  • 11. Interfaces 02/08/18Prof. Ramiro Victor 11  Estabelece a interface (contrato) de um conjunto de classes;  Classes utilizam implements ao invés de extends para implementar uma interface;  Classes podem implementar mais de uma interface.
  • 12. Interfaces oUma Interface não pode conter métodos privados. oEm java as Interface são tipos especiais de classes que podem conter assinatura de métodos, mas não sua implementação; public interface Imprimivel { public void imprimir(); } 02/08/18Prof. Ramiro Victor 12
  • 13. Interfaces 02/08/18Prof. Ramiro Victor 13 public interface Forma { void desenhar(); void aumentar(int t); } public class Linha implements Forma { private int x1, y1, x2, y2; public void desenhar() { /* ... */ } public void aumentar(int t) { /* ... */ } }
  • 14. Interfaces 02/08/18Prof. Ramiro Victor 14  Métodos definidos na interface são automaticamente públicos;  Atributos definidos na interface são automaticamente públicos, estáticos e final. public interface Forma { int X; void desenhar(); } public interface Forma { public static final int X; public void desenhar(); } Definições Iguais