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.

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

  • 1.
    Curso de Java byAntonio Rodrigues Carvalho Neto
  • 2.
  • 3.
    Evolução Programação Linear •Go Tos Programação Estruturada • Ifthen • 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 paracriar 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çãode 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 Instanciaruma 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 Asintaxe 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 Apartir de uma mesma classe é possível criar diversos objetos. fusca1 fusca2 herbie Classe Objetos
  • 15.
    Classes - Instanciando Aclasse 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 momentoem 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 paraatribuir 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 intmaxKmHora 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 objetospara cada tipo de classe que foi gerada no exercício anterior. E faça com que cada objeto execute todos os seus métodos.