SlideShare uma empresa Scribd logo
1 de 42
Linguagens e Técnicas de Programação - JAVA José  Marcos  Barbosa da Silveira [email_address]
Definição sobre a Orientação a Objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Definição sobre a Orientação a Objetos ,[object Object],[object Object]
Abstração ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Classes ,[object Object],[object Object],[object Object],Classe  Automóvel
Definições envolvendo classes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Definição de Pacotes ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Partes que compõem uma classe ,[object Object],[object Object],Nome Atributos Métodos
Partes que compõem uma classe Um protótipo que define os atributos e os métodos comuns a todos objetos de um determinado tipo e da própria classe, com a finalidade de servir como molde para a criação de objetos. Classes - Visão em POO: Classe Objetos Joaquim José Maria Empregado
Objetos Um conjunto distinto de atributos e métodos que representam entidades do mundo real, implementados por software e gerados (instanciados) através de classes. Visão em POO: Atributos Métodos Métodos Métodos Métodos
Partes que compõem uma classe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Instanciação de uma classe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Criando objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],???????? a 0 ? 0.0
Criando objetos - cont ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],? ? 0 0x01abdfe
Compartilhamento de variáveis entre os objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Compartilhamento de variáveis entre os objetos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Declaração de métodos de uma classe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Declaração de métodos de uma classe ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Encapsulamento ,[object Object],[object Object],[object Object]
Encapsulamento - modificadores de visibilidade public private protected <default> Estes atributos e  métodos são sempre acessíveis em todos os métodos de todas as classes. Este é o nível menos rígido de encapsulamento, que equivale a não encapsular.  Estes atributos e métodos são acessíveis somente nos métodos (todos) da própria classe. Este é o nível mais rígido de encapsulamento. Estes atributos e métodos são acessíveis no pacote, nos métodos da própria classe e suas subclasses, o que será visto em Herança.  Visível no pacote e na classe.
Encapsulamento (cont.) ,[object Object],[object Object],[object Object],Salário getSalário Salário*0.3 O Cunhado Salário/2 O Leão do Imposto de Renda salário/10 A namoradinha
Encapsulamento (cont.) class CorpoCeleste { public long id; public String nome; ..... } class CorpoCeleste { private long id; private String nome; ..... public long getId()  { return id; } public String getNome()  { return nome; } ..... } Garante acesso externo somente no modo “read-only”
Exemplo   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Construtores   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Construtor (cont.)   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Construtor (cont.)   ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Herança ,[object Object]
Herança Meios de transporte Terrestres Aquáticos Aéreos
Herança -  t erminologia ,[object Object],[object Object],[object Object]
Herança  - exemplo class Veiculo{ String nome; float velocidade; public void acelerar(){ if(velocidade<=10) velocidade++; } public void frea(){ if(velocidade>0) velocidade--; } } class Veiculo2  extends  Veiculo{ boolean ligado; public void liga(){ ligado=true; } public void desliga(){ ligado=false; } } Obs : Herança constitui uma importante técnica para a orientação a objetos, possibilitando que código já criado em uma classe seja reaproveitado e especializado em outra.
Polimorfismo ,[object Object],[object Object],[object Object]
Polimorfismo (cont.) ,[object Object],[object Object],[object Object],[object Object]
Polimorfismo -Sobreposição public class Super  { ... public void metodo1()  { a = b * c; } } public class Sub extends Super  { ... public void metodo1()  { x = y + z; } } Substituir a implementação de um método herdado por uma implementação própria da subclasse
Polimorfismo  -  Sobreposição class Fruta { int gramas; int calorias_por_grama; Fruta()  {   gramas=55;   calorias_por_grama=0; } Fruta(int g, int c) {   gramas =g;    calorias_por_grama =c; } void descascar () {   System.out.println(“Aqui eu descasco frutas”); } }
Polimorfismo  -  Sobreposição   class Citros extends Fruta { private int acidoCitrico; public Citros()  {  super();  this.acidoCitrico=1000; } public Citros(int g, int c, int a)  { super(g,c);  this.setAcidoCitrico(a); }
Polimorfismo  -  Sobreposição int getAcidoCitrico()  {  return acidoCitrico; } void setAcidoCitrico(int acido)  { this.acidoCitrico=acido; } void descascar () {  System.out.println( “ Aqui eu descasco so citricos”); } }
Polimorfismo  -  Sobrecarga   public class Fruta  { int gramas; int calorias_por_grama; public Fruta()  { gramas=55;  calorias_por_grama=0; } public Fruta(int g, int c) {   this.gramas =g;   this.calorias_por_grama =c; } }
Polimorfismo  -  Sobrecarga   public class Feira  { public static void main(String args[]) { Fruta melancia = new Fruta(4000, 5);   Fruta manga = new Fruta ();   manga.gramas=100;   manga.calorias_por_grama=100;   System.out.println(“manga “+ manga.gramas +  “  gs “ + manga.calorias_por_grama); } }
Exercícios ,[object Object],[object Object],[object Object],[object Object]
Exercícios (cont.) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Exercícios (cont.) ,[object Object],Empregado nome: String salario: float getSalario() : float setSalario(salario: float): void Gerente comissao: float setComissao(comissao: float) : void ,[object Object]
Bibliografia ,[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Mario Jorge Pereira
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – IIIGabriel Faustino
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Natanael Fonseca
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosLeonardo Melo Santos
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)Mario Sergio
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaCharles Jungbeck
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)Armando Daniel
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetrosMaurício Linhares
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Natanael Fonseca
 
Java: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceJava: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceArthur Emanuel
 
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objetoExercícios de programação orientado a objeto
Exercícios de programação orientado a objetoGleyciana Garrido
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IVGabriel Faustino
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)Mario Sergio
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – IIGabriel Faustino
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em PythonLuciano Ramalho
 
Java Básico :: Classe Vector
Java Básico :: Classe VectorJava Básico :: Classe Vector
Java Básico :: Classe VectorWesley R. Bezerra
 
Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#Andre Nascimento
 

Mais procurados (20)

Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java Revisão Sobre Programação Orientada a Objetos com Java
Revisão Sobre Programação Orientada a Objetos com Java
 
Programação orientada a objetos – III
Programação orientada a objetos – IIIProgramação orientada a objetos – III
Programação orientada a objetos – III
 
Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
 
Java3
Java3Java3
Java3
 
Curso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetosCurso de OO com C# - Parte 01 - Orientação a objetos
Curso de OO com C# - Parte 01 - Orientação a objetos
 
Curso de Java (Parte 4)
Curso de Java (Parte 4)Curso de Java (Parte 4)
Curso de Java (Parte 4)
 
Aula05
Aula05Aula05
Aula05
 
Conceitos Básicos de OO e Java
Conceitos Básicos de OO e JavaConceitos Básicos de OO e Java
Conceitos Básicos de OO e Java
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Curso java 03 - métodos e parâmetros
Curso java   03 - métodos e parâmetrosCurso java   03 - métodos e parâmetros
Curso java 03 - métodos e parâmetros
 
Curso Java Básico - Aula 01
Curso Java Básico - Aula 01Curso Java Básico - Aula 01
Curso Java Básico - Aula 01
 
Java: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, InterfaceJava: Classes Abstratas, Anônimas, Interface
Java: Classes Abstratas, Anônimas, Interface
 
Exercícios de programação orientado a objeto
Exercícios de programação orientado a objetoExercícios de programação orientado a objeto
Exercícios de programação orientado a objeto
 
Programação orientada a objetos - IV
Programação orientada a objetos - IVProgramação orientada a objetos - IV
Programação orientada a objetos - IV
 
Curso de Java (Parte 2)
 Curso de Java (Parte 2) Curso de Java (Parte 2)
Curso de Java (Parte 2)
 
Programação orientada a objetos – II
Programação orientada a objetos – IIProgramação orientada a objetos – II
Programação orientada a objetos – II
 
Java1
Java1Java1
Java1
 
Orientação a Objetos em Python
Orientação a Objetos em PythonOrientação a Objetos em Python
Orientação a Objetos em Python
 
Java Básico :: Classe Vector
Java Básico :: Classe VectorJava Básico :: Classe Vector
Java Básico :: Classe Vector
 
Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#Apostila de Introdução a POO com C#
Apostila de Introdução a POO com C#
 

Destaque

[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade[ ref ] Convergência - Mobilidade
[ ref ] Convergência - MobilidadeRobson Silva Espig
 
[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL ServerRobson Silva Espig
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratosMaurício Linhares
 
Master Place - Convenção Bloco D
Master Place - Convenção Bloco DMaster Place - Convenção Bloco D
Master Place - Convenção Bloco DRobson Silva Espig
 
[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOKRobson Silva Espig
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareRobson Silva Espig
 

Destaque (8)

[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade[ ref ] Convergência - Mobilidade
[ ref ] Convergência - Mobilidade
 
[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server[ ref ] Normalizing a Data Model in SQL Server
[ ref ] Normalizing a Data Model in SQL Server
 
Aquarelas Envelhecidas
Aquarelas EnvelhecidasAquarelas Envelhecidas
Aquarelas Envelhecidas
 
Curso java 05 - herança, classes e métodos abstratos
Curso java   05 - herança, classes e métodos abstratosCurso java   05 - herança, classes e métodos abstratos
Curso java 05 - herança, classes e métodos abstratos
 
Master Place - Convenção Bloco D
Master Place - Convenção Bloco DMaster Place - Convenção Bloco D
Master Place - Convenção Bloco D
 
[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK[ reference ] Processos - PMBOK
[ reference ] Processos - PMBOK
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
A Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de SoftwareA Evolucao dos Processos de Desenvolvimento de Software
A Evolucao dos Processos de Desenvolvimento de Software
 

Semelhante a Java7

Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem IIIJuliano Weber
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em JavaEderson Lima
 
Construtor em Java
Construtor em JavaConstrutor em Java
Construtor em JavaEderson Lima
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoMarconi Rodrigues
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidIury Teixeira
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Ryan Padilha
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01John Godoi
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosRamon Mayor Martins
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/Rodrigo Vieira
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0César Augusto Pessôa
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a pooSedu
 

Semelhante a Java7 (20)

Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
Virada Tecnológica 2017
Virada Tecnológica 2017Virada Tecnológica 2017
Virada Tecnológica 2017
 
3- POO
3- POO3- POO
3- POO
 
Poo
PooPoo
Poo
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em Java
 
Construtor em Java
Construtor em JavaConstrutor em Java
Construtor em Java
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Introdução a programação Orientada a Objeto
Introdução a programação Orientada a ObjetoIntrodução a programação Orientada a Objeto
Introdução a programação Orientada a Objeto
 
v
vv
v
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
 
Java 00 Poo
Java 00 PooJava 00 Poo
Java 00 Poo
 
Curso Java Basico
Curso Java BasicoCurso Java Basico
Curso Java Basico
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01Java e orientação a objetos - aula 01
Java e orientação a objetos - aula 01
 
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a ObjetosIES GF - Introdução a Linguagem de Programação Orientada a Objetos
IES GF - Introdução a Linguagem de Programação Orientada a Objetos
 
http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/http://www.dm.ufscar.br/~waldeck/curso/java/
http://www.dm.ufscar.br/~waldeck/curso/java/
 
03 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.003 - Orientação a objetos e classes em C# v1.0
03 - Orientação a objetos e classes em C# v1.0
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
Introdução a poo
Introdução a pooIntrodução a poo
Introdução a poo
 

Mais de Robson Silva Espig (20)

Como implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custosComo implementar uma plataforma de ILM com eficiência, reduzindo custos
Como implementar uma plataforma de ILM com eficiência, reduzindo custos
 
Gestao Projetos - Aula 02
Gestao Projetos - Aula 02Gestao Projetos - Aula 02
Gestao Projetos - Aula 02
 
Gestao Projetos - Aula 01
Gestao Projetos - Aula 01Gestao Projetos - Aula 01
Gestao Projetos - Aula 01
 
Aula 01
Aula 01Aula 01
Aula 01
 
Aula 05
Aula 05Aula 05
Aula 05
 
Aula 04
Aula 04Aula 04
Aula 04
 
Aula 02
Aula 02Aula 02
Aula 02
 
Caso de Desenvolvimento
Caso de DesenvolvimentoCaso de Desenvolvimento
Caso de Desenvolvimento
 
SOA
SOASOA
SOA
 
Aula 03
Aula 03Aula 03
Aula 03
 
Artigo Caso de Uso
Artigo Caso de UsoArtigo Caso de Uso
Artigo Caso de Uso
 
RAD
RADRAD
RAD
 
Analise de Requisitos de Software
Analise de Requisitos de SoftwareAnalise de Requisitos de Software
Analise de Requisitos de Software
 
Desenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e IncrementalDesenvolvimento Iterativo e Incremental
Desenvolvimento Iterativo e Incremental
 
Implantacao de Software
Implantacao de SoftwareImplantacao de Software
Implantacao de Software
 
Manutencao de Software
Manutencao de SoftwareManutencao de Software
Manutencao de Software
 
UML
UMLUML
UML
 
Orientacao a Objetos
Orientacao a ObjetosOrientacao a Objetos
Orientacao a Objetos
 
Programacao Extrema
Programacao ExtremaProgramacao Extrema
Programacao Extrema
 
Modelo em Espiral
Modelo em EspiralModelo em Espiral
Modelo em Espiral
 

Java7

  • 1. Linguagens e Técnicas de Programação - JAVA José Marcos Barbosa da Silveira [email_address]
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Partes que compõem uma classe Um protótipo que define os atributos e os métodos comuns a todos objetos de um determinado tipo e da própria classe, com a finalidade de servir como molde para a criação de objetos. Classes - Visão em POO: Classe Objetos Joaquim José Maria Empregado
  • 10. Objetos Um conjunto distinto de atributos e métodos que representam entidades do mundo real, implementados por software e gerados (instanciados) através de classes. Visão em POO: Atributos Métodos Métodos Métodos Métodos
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Encapsulamento - modificadores de visibilidade public private protected <default> Estes atributos e métodos são sempre acessíveis em todos os métodos de todas as classes. Este é o nível menos rígido de encapsulamento, que equivale a não encapsular. Estes atributos e métodos são acessíveis somente nos métodos (todos) da própria classe. Este é o nível mais rígido de encapsulamento. Estes atributos e métodos são acessíveis no pacote, nos métodos da própria classe e suas subclasses, o que será visto em Herança. Visível no pacote e na classe.
  • 21.
  • 22. Encapsulamento (cont.) class CorpoCeleste { public long id; public String nome; ..... } class CorpoCeleste { private long id; private String nome; ..... public long getId() { return id; } public String getNome() { return nome; } ..... } Garante acesso externo somente no modo “read-only”
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. Herança Meios de transporte Terrestres Aquáticos Aéreos
  • 29.
  • 30. Herança - exemplo class Veiculo{ String nome; float velocidade; public void acelerar(){ if(velocidade<=10) velocidade++; } public void frea(){ if(velocidade>0) velocidade--; } } class Veiculo2 extends Veiculo{ boolean ligado; public void liga(){ ligado=true; } public void desliga(){ ligado=false; } } Obs : Herança constitui uma importante técnica para a orientação a objetos, possibilitando que código já criado em uma classe seja reaproveitado e especializado em outra.
  • 31.
  • 32.
  • 33. Polimorfismo -Sobreposição public class Super { ... public void metodo1() { a = b * c; } } public class Sub extends Super { ... public void metodo1() { x = y + z; } } Substituir a implementação de um método herdado por uma implementação própria da subclasse
  • 34. Polimorfismo - Sobreposição class Fruta { int gramas; int calorias_por_grama; Fruta() { gramas=55; calorias_por_grama=0; } Fruta(int g, int c) { gramas =g; calorias_por_grama =c; } void descascar () { System.out.println(“Aqui eu descasco frutas”); } }
  • 35. Polimorfismo - Sobreposição class Citros extends Fruta { private int acidoCitrico; public Citros() { super(); this.acidoCitrico=1000; } public Citros(int g, int c, int a) { super(g,c); this.setAcidoCitrico(a); }
  • 36. Polimorfismo - Sobreposição int getAcidoCitrico() { return acidoCitrico; } void setAcidoCitrico(int acido) { this.acidoCitrico=acido; } void descascar () { System.out.println( “ Aqui eu descasco so citricos”); } }
  • 37. Polimorfismo - Sobrecarga public class Fruta { int gramas; int calorias_por_grama; public Fruta() { gramas=55; calorias_por_grama=0; } public Fruta(int g, int c) { this.gramas =g; this.calorias_por_grama =c; } }
  • 38. Polimorfismo - Sobrecarga public class Feira { public static void main(String args[]) { Fruta melancia = new Fruta(4000, 5); Fruta manga = new Fruta (); manga.gramas=100; manga.calorias_por_grama=100; System.out.println(“manga “+ manga.gramas + “ gs “ + manga.calorias_por_grama); } }
  • 39.
  • 40.
  • 41.
  • 42.