SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Curso de Java
by Antonio Rodrigues Carvalho Neto
Orientação a
Objetos
Evolução
Programação
Linear
•Go Tos
Programação
Estruturada
• If then
• Loops
• Case
Analise e Projeto
Estruturado
Engenharia da
Informação
Orientação a
Objetos
Era da Programação
Constantine
Stevens
James
Martin
50 60 70 80 90 2000
O que é Orientação a Objetos
A orientação a Objetos visa abstrair
características de entidades concretas e
abstratas do mundo real, criando padrões
ou classificações que posteriormente
serão transformados em objetos virtuais.
O que é Orientação a Objetos
Todo objeto é composto por :
Características, também conhecidas como
propriedades, atributos, status. As
características de um objeto modificam seu
estado.
Comportamentos, também conhecidos como
métodos, funções, ações. Os
comportamentos são ações que o objeto
pode executar.
O que é Abstração
I
N
T
E
R
F
A
C
E
I
N
T
E
R
F
A
C
E
•Fofinho
•Brinca
•Mia
•Raça
•Epiderme
•Morde
Nota : Duas ou mais pessoas podem ver características distintas em um
mesmo objeto. O objeto comporta ambas as características porém cada
uma das pessoas visualiza aquilo que mais atendem a sua realidade,
mediante aos seus próprios filtros internos. Isso chama-se abstração.
Classe e Objetos
Classe é um conjunto de objetos com
caracteristicas e comportamentos afins.
Classe e Objetos
Objeto é um elemento concreto de um
tipo de classe.
Fusca (1)
Fusca (2)
Fusca (3)
Classes
A sintaxe para criar uma classe é :
<modificador> class <nome da classe> {
<tipo> <nome da propriedade 1>;
<tipo> <nome da propriedade 2>;
..
<tipo> <nome da propriedade N>;
<tipo de retorno> <nome do método 1> ( <parâmetros> ) {
<Código a ser executado linha 1>;
<Código a ser executado linha 2>;
...
}
<tipo de retorno> <nome do método N> ( <parâmetros> ) {
<Código a ser executado linha 1>;
<Código a ser executado linha 2>;
...
}
}
O <modificador> pode ser public de forma que todos vejam, ou
package visível apenas pelas demais classes do pacote (para atribuir
como package basta não colocar nada).
Nome da Classe
Métodos
Caracteristicas
Exemplo
public class Gato {
float tamanho;
float peso;
void brinca() {
System.out.println(“Estou brincando”);
}
void mia() {
System.out.println(“miau ...”);
}
}
Gato
brinca()
mia()
tamanho
peso
Exercício
Faça a definição de classe de 3 objetos incomuns,
abstraindo ao menos 3 propriedades 2 dois métodos de
cada um.
Desafio : Crie classes no java para a definição destes
objetos.
Dica : Documente primeiro e codifique depois, se não
vale a apena ser documentado é por que não vale
apena ser feito.
Classes - Instanciando
Instanciar uma classe é o ato de criar um
objeto apartir dela.
A classe contém os tipos das
características e os comportamentos que
os objetos vão possuir.
Mas cada objeto possuira conteúdos
diferentes em suas características, e o
comportamento de cada um irá variar
conforme estes conteúdos.
Classes - Instanciando
A sintaxe para instanciar uma classe é:
<nome da classe> <nome da variável> = new <nome da classe>(<parâmetros>);
Exemplo:
// Para instanciar um objeto do tipo Gato usaremos :
Gato felix = new Gato();
Classes - Instanciando
A partir de uma mesma classe é possível criar diversos objetos.
fusca1
fusca2
herbie
Classe
Objetos
Classes - Instanciando
A classe carro mostrada na página anterior é apenas a planta (o desenho),
mostrando como os objetos instanciados serão e como se comportarão:
public class Carro {
float autonomia;
int maxKmHora;
String Marca;
String Modelo;
int ano;
int velocidade;
public void acelerar() {
System.out.println(“ Acelerando ... “);
velocidade = velocidade + 10;
}
public void frear() {
System.out.println(“ Acelerando ... “);
velocidade = velocidade – 10;
}
}
Para se criar os objetos apartir da classe é preciso instanciá-los, conforme
no exemplo abaixo:
// Para instanciar um objeto do tipo Carro usaremos :
Carro fusca1 = new Carro ();
Carro fusca2 = new Carro ();
Carro herbie = new Carro ();
Objetos
Apartir do momento em que a classe for
instanciada, o java criará mais um objeto na
memória, que poderá conter informações
diferentes em suas características
(propriedades).
Para alterar o conteúdo de uma característica
do objeto é preciso referenciar sua propriedade
e atribuir uma nova informação.
Lembre-se propriedades e características são a mesma coisa.
Heap
Objeto Carro : {
autonomia:0.0
maxKmHora:0
Marca:“”
Modelo:“”
ano:0
velocidade:0
}
Objeto : Carro{
autonomia:0.0
maxKmHora:0
Marca:“”
Modelo:“”
ano:0
velocidade:0
}
Objeto : Carro{
autonomia:0.0
maxKmHora:0
Marca:“”
Modelo:“”
ano:0
velocidade:0
}
Objetos (Stack e Heap)
Comportamento dos objetos e variáveis de referência na memória.
Quando instanciamos um objeto da classe carro:
Stack
static void main()
Carro fusca1
Carro fusca2
Carro herbie
Objetos
A sintaxe para atribuir uma informação para
uma propriedade do objeto é :
<nome do objeto>.<nome da propriedade> = <novo valor>;
Exemplo:
herbie.autonimia = 398.5f;
Para utilizar a propriedade de um objeto basta
mencioná-la conforme abaixo :
<nome do objeto>.<nome da propriedade>
Exemplo:
System.out.println( herbie.velocidade );
Objetos
Execução ObjetosClasses
JVM
Carro
frear()
acelerar()
float autonomia
int maxKmHora
String Marca
String Modelo
int ano
int velocidade
TesteCarro
main()
fusca1
acelerar()
frear()
autonomia : 358.8f
maxKmHora : 120
Marca : “Volkswagen”
Modelo : “”
ano : 0
velocidade : 0
fusca2
brinca()
mia()
autonomia : 0.0f
maxKmHora : 125
Marca : “”
Modelo : “”
ano : 0
velocidade : 0
1
Carro fusca1 = new Carro();
Carro fusca2 = new Carro();
fusca1.autonomia = 358.8f;
fusca1.maxKmHora = 120;
fusca2.maxKmHora = 125;
fusca1.Marca = “Volkswagen”;
fusca1.acelerar();
fusca2.acelerar();
2
3
Exercício
Instancie 3 objetos para cada tipo de
classe que foi gerada no exercício
anterior. E faça com que cada objeto
execute todos os seus métodos.

Mais conteúdo relacionado

Mais procurados

Conhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação JavaConhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação JavaMicael Coutinho
 
Java básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetosJava básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetosProfessor Samuel Ribeiro
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClasseFelipe J. R. Vieira
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)jose-junior89
 
Exercicio classes
Exercicio classesExercicio classes
Exercicio classesfeiosanelma
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaCristiano Almeida
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresMoises Omena
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em JavaEderson Lima
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - ConceitosMayron Cachina
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1ariovaldodias
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetosdanielrpgj30
 

Mais procurados (20)

OOP Java
OOP JavaOOP Java
OOP Java
 
Conhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação JavaConhecendo A Linguagem de Programação Java
Conhecendo A Linguagem de Programação Java
 
Java básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetosJava básico - Módulo 09: Introdução a programação orientada à objetos
Java básico - Módulo 09: Introdução a programação orientada à objetos
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)Exercicios professor marcos monteiro (1)
Exercicios professor marcos monteiro (1)
 
v
vv
v
 
Exercicio classes
Exercicio classesExercicio classes
Exercicio classes
 
03 poo
03 poo03 poo
03 poo
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
JAVA - Orientação a Objetos
JAVA - Orientação a ObjetosJAVA - Orientação a Objetos
JAVA - Orientação a Objetos
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
 
Programação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em JavaProgramação Orientada a Objetos - Uso da O.O. em Java
Programação Orientada a Objetos - Uso da O.O. em Java
 
3 orientacao-objetos
3 orientacao-objetos3 orientacao-objetos
3 orientacao-objetos
 
Java básico
Java básicoJava básico
Java básico
 
Java - Aula 3 - Construtores
Java - Aula 3 - ConstrutoresJava - Aula 3 - Construtores
Java - Aula 3 - Construtores
 
Construtores em Java
Construtores em JavaConstrutores em Java
Construtores em Java
 
Orientação a Objetos - Conceitos
Orientação a Objetos - ConceitosOrientação a Objetos - Conceitos
Orientação a Objetos - Conceitos
 
Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1Introdução à análise orientada a objetos parte 1
Introdução à análise orientada a objetos parte 1
 
Curso : Introdução Orientação a Objetos
Curso : Introdução Orientação a ObjetosCurso : Introdução Orientação a Objetos
Curso : Introdução Orientação a Objetos
 

Destaque

Destaque (11)

Java vetores e matrizes
Java   vetores e matrizesJava   vetores e matrizes
Java vetores e matrizes
 
java
javajava
java
 
JAVA - Matrizes
JAVA - MatrizesJAVA - Matrizes
JAVA - Matrizes
 
Java oo - aula 01
Java   oo - aula 01Java   oo - aula 01
Java oo - aula 01
 
Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada Estrutura de dados em Java - Filas com lista encadeada
Estrutura de dados em Java - Filas com lista encadeada
 
Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas Estrutura de dados em Java - Filas
Estrutura de dados em Java - Filas
 
Estrutura de dados em Java - Pilhas
Estrutura de dados em Java - PilhasEstrutura de dados em Java - Pilhas
Estrutura de dados em Java - Pilhas
 
Estrutura de Dados e Algoritmos com Java #01: Introducao
Estrutura de Dados e Algoritmos com Java #01: IntroducaoEstrutura de Dados e Algoritmos com Java #01: Introducao
Estrutura de Dados e Algoritmos com Java #01: Introducao
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Introdução a classes e objetos
Introdução a classes e objetosIntrodução a classes e objetos
Introdução a classes e objetos
 
Performance em Java
Performance em JavaPerformance em Java
Performance em Java
 

Semelhante a Java orientação a objetos (introdução)

Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfssuser6e99cd
 
Poo slides01
Poo slides01Poo slides01
Poo slides01jmtofoli
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfpedrina4
 
Javascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQueryJavascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQueryWesley Lemos
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e ExercíciosArthur Emanuel
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaArthur Emanuel
 
Conceitos de Orientação A Objeto
Conceitos de Orientação A ObjetoConceitos de Orientação A Objeto
Conceitos de Orientação A ObjetoLuciano Almeida
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a ObjetosIgor Takenami
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classesMarco Coelho
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetosNécio de Lima Veras
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
 
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
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem IIIJuliano Weber
 
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
 

Semelhante a Java orientação a objetos (introdução) (20)

Java7
Java7Java7
Java7
 
Aula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdfAula3-POO-ConceitosBasicos.pdf
Aula3-POO-ConceitosBasicos.pdf
 
Resumão java
Resumão javaResumão java
Resumão java
 
Java aula 2
Java aula 2Java aula 2
Java aula 2
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
Java 02
Java 02Java 02
Java 02
 
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdfAPOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
APOO.INT- S01 Paradigma de Orientação a Objetos (2).pdf
 
Javascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQueryJavascript para CSharpers - Append B - jQuery
Javascript para CSharpers - Append B - jQuery
 
Java - Visão geral e Exercícios
Java - Visão geral e ExercíciosJava - Visão geral e Exercícios
Java - Visão geral e Exercícios
 
Sistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de JavaSistemas Distribuídos - Aula 04 - Revisão de Java
Sistemas Distribuídos - Aula 04 - Revisão de Java
 
Conceitos de Orientação A Objeto
Conceitos de Orientação A ObjetoConceitos de Orientação A Objeto
Conceitos de Orientação A Objeto
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Resumo diagramas de classes
Resumo diagramas de classesResumo diagramas de classes
Resumo diagramas de classes
 
O paradigma da orientação a objetos
O paradigma da orientação a objetosO paradigma da orientação a objetos
O paradigma da orientação a objetos
 
Aula orientação a objetos
Aula orientação a objetosAula orientação a objetos
Aula orientação a objetos
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
 
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
 
Java 07
Java 07Java 07
Java 07
 
Aula 1 - Linguagem III
Aula 1 - Linguagem IIIAula 1 - Linguagem III
Aula 1 - Linguagem III
 
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
 

Mais de Armando Daniel

Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streamsArmando Daniel
 
Java recursos avançados - socket connection
Java   recursos avançados - socket connectionJava   recursos avançados - socket connection
Java recursos avançados - socket connectionArmando Daniel
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreadingArmando Daniel
 
Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filtersArmando Daniel
 
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
 
Java orientação a objetos (introdução) - exercicios
Java   orientação a objetos (introdução) - exerciciosJava   orientação a objetos (introdução) - exercicios
Java orientação a objetos (introdução) - exerciciosArmando Daniel
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)Armando Daniel
 
Java orientação a objetos (herança)
Java   orientação a objetos (herança)Java   orientação a objetos (herança)
Java orientação a objetos (herança)Armando Daniel
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)Armando Daniel
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipseArmando Daniel
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swingArmando Daniel
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layoutsArmando Daniel
 

Mais de Armando Daniel (14)

Java code conventions
Java code conventionsJava code conventions
Java code conventions
 
Java recursos avançados - streams
Java   recursos avançados - streamsJava   recursos avançados - streams
Java recursos avançados - streams
 
Java recursos avançados - socket connection
Java   recursos avançados - socket connectionJava   recursos avançados - socket connection
Java recursos avançados - socket connection
 
Java recursos avançados - multithreading
Java   recursos avançados - multithreadingJava   recursos avançados - multithreading
Java recursos avançados - multithreading
 
Java recursos avançados - filters
Java   recursos avançados - filtersJava   recursos avançados - filters
Java recursos avançados - filters
 
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)
 
Java orientação a objetos (introdução) - exercicios
Java   orientação a objetos (introdução) - exerciciosJava   orientação a objetos (introdução) - exercicios
Java orientação a objetos (introdução) - exercicios
 
Java orientação a objetos (interfaces)
Java   orientação a objetos (interfaces)Java   orientação a objetos (interfaces)
Java orientação a objetos (interfaces)
 
Java orientação a objetos (herança)
Java   orientação a objetos (herança)Java   orientação a objetos (herança)
Java orientação a objetos (herança)
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Java introdução ao eclipse
Java   introdução ao eclipseJava   introdução ao eclipse
Java introdução ao eclipse
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swing
 
Java interface gráfica layouts
Java   interface gráfica layoutsJava   interface gráfica layouts
Java interface gráfica layouts
 

Java orientação a objetos (introdução)

  • 1. Curso de Java by Antonio Rodrigues Carvalho Neto
  • 3. Evolução Programação Linear •Go Tos Programação Estruturada • If then • Loops • Case Analise e Projeto Estruturado Engenharia da Informação Orientação a Objetos Era da Programação Constantine Stevens James Martin 50 60 70 80 90 2000
  • 4. O que é Orientação a Objetos A orientação a Objetos visa abstrair características de entidades concretas e abstratas do mundo real, criando padrões ou classificações que posteriormente serão transformados em objetos virtuais.
  • 5. O que é Orientação a Objetos Todo objeto é composto por : Características, também conhecidas como propriedades, atributos, status. As características de um objeto modificam seu estado. Comportamentos, também conhecidos como métodos, funções, ações. Os comportamentos são ações que o objeto pode executar.
  • 6. O que é Abstração I N T E R F A C E I N T E R F A C E •Fofinho •Brinca •Mia •Raça •Epiderme •Morde Nota : Duas ou mais pessoas podem ver características distintas em um mesmo objeto. O objeto comporta ambas as características porém cada uma das pessoas visualiza aquilo que mais atendem a sua realidade, mediante aos seus próprios filtros internos. Isso chama-se abstração.
  • 7. Classe e Objetos Classe é um conjunto de objetos com caracteristicas e comportamentos afins.
  • 8. Classe e Objetos Objeto é um elemento concreto de um tipo de classe. Fusca (1) Fusca (2) Fusca (3)
  • 9. Classes A sintaxe para criar uma classe é : <modificador> class <nome da classe> { <tipo> <nome da propriedade 1>; <tipo> <nome da propriedade 2>; .. <tipo> <nome da propriedade N>; <tipo de retorno> <nome do método 1> ( <parâmetros> ) { <Código a ser executado linha 1>; <Código a ser executado linha 2>; ... } <tipo de retorno> <nome do método N> ( <parâmetros> ) { <Código a ser executado linha 1>; <Código a ser executado linha 2>; ... } } O <modificador> pode ser public de forma que todos vejam, ou package visível apenas pelas demais classes do pacote (para atribuir como package basta não colocar nada). Nome da Classe Métodos Caracteristicas
  • 10. Exemplo public class Gato { float tamanho; float peso; void brinca() { System.out.println(“Estou brincando”); } void mia() { System.out.println(“miau ...”); } } Gato brinca() mia() tamanho peso
  • 11. Exercício Faça a definição de classe de 3 objetos incomuns, abstraindo ao menos 3 propriedades 2 dois métodos de cada um. Desafio : Crie classes no java para a definição destes objetos. Dica : Documente primeiro e codifique depois, se não vale a apena ser documentado é por que não vale apena ser feito.
  • 12. Classes - Instanciando Instanciar uma classe é o ato de criar um objeto apartir dela. A classe contém os tipos das características e os comportamentos que os objetos vão possuir. Mas cada objeto possuira conteúdos diferentes em suas características, e o comportamento de cada um irá variar conforme estes conteúdos.
  • 13. Classes - Instanciando A sintaxe para instanciar uma classe é: <nome da classe> <nome da variável> = new <nome da classe>(<parâmetros>); Exemplo: // Para instanciar um objeto do tipo Gato usaremos : Gato felix = new Gato();
  • 14. Classes - Instanciando A partir de uma mesma classe é possível criar diversos objetos. fusca1 fusca2 herbie Classe Objetos
  • 15. Classes - Instanciando A classe carro mostrada na página anterior é apenas a planta (o desenho), mostrando como os objetos instanciados serão e como se comportarão: public class Carro { float autonomia; int maxKmHora; String Marca; String Modelo; int ano; int velocidade; public void acelerar() { System.out.println(“ Acelerando ... “); velocidade = velocidade + 10; } public void frear() { System.out.println(“ Acelerando ... “); velocidade = velocidade – 10; } } Para se criar os objetos apartir da classe é preciso instanciá-los, conforme no exemplo abaixo: // Para instanciar um objeto do tipo Carro usaremos : Carro fusca1 = new Carro (); Carro fusca2 = new Carro (); Carro herbie = new Carro ();
  • 16. Objetos Apartir do momento em que a classe for instanciada, o java criará mais um objeto na memória, que poderá conter informações diferentes em suas características (propriedades). Para alterar o conteúdo de uma característica do objeto é preciso referenciar sua propriedade e atribuir uma nova informação. Lembre-se propriedades e características são a mesma coisa.
  • 17. Heap Objeto Carro : { autonomia:0.0 maxKmHora:0 Marca:“” Modelo:“” ano:0 velocidade:0 } Objeto : Carro{ autonomia:0.0 maxKmHora:0 Marca:“” Modelo:“” ano:0 velocidade:0 } Objeto : Carro{ autonomia:0.0 maxKmHora:0 Marca:“” Modelo:“” ano:0 velocidade:0 } Objetos (Stack e Heap) Comportamento dos objetos e variáveis de referência na memória. Quando instanciamos um objeto da classe carro: Stack static void main() Carro fusca1 Carro fusca2 Carro herbie
  • 18. Objetos A sintaxe para atribuir uma informação para uma propriedade do objeto é : <nome do objeto>.<nome da propriedade> = <novo valor>; Exemplo: herbie.autonimia = 398.5f; Para utilizar a propriedade de um objeto basta mencioná-la conforme abaixo : <nome do objeto>.<nome da propriedade> Exemplo: System.out.println( herbie.velocidade );
  • 19. Objetos Execução ObjetosClasses JVM Carro frear() acelerar() float autonomia int maxKmHora String Marca String Modelo int ano int velocidade TesteCarro main() fusca1 acelerar() frear() autonomia : 358.8f maxKmHora : 120 Marca : “Volkswagen” Modelo : “” ano : 0 velocidade : 0 fusca2 brinca() mia() autonomia : 0.0f maxKmHora : 125 Marca : “” Modelo : “” ano : 0 velocidade : 0 1 Carro fusca1 = new Carro(); Carro fusca2 = new Carro(); fusca1.autonomia = 358.8f; fusca1.maxKmHora = 120; fusca2.maxKmHora = 125; fusca1.Marca = “Volkswagen”; fusca1.acelerar(); fusca2.acelerar(); 2 3
  • 20. Exercício Instancie 3 objetos para cada tipo de classe que foi gerada no exercício anterior. E faça com que cada objeto execute todos os seus métodos.