SlideShare une entreprise Scribd logo
1  sur  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]

Contenu connexe

Tendances

Curso Java Básico - Aula 04
Curso Java Básico - Aula 04Curso Java Básico - Aula 04
Curso Java Básico - Aula 04
Natanael Fonseca
 
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
Charles 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âmetros
Maurício Linhares
 

Tendances (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#
 

En vedette (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
 

Similaire à Java7

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
 

Similaire à 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
 

Plus 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.