20

Click here to load reader

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

Embed Size (px)

Citation preview

Page 1: Java   orientação a objetos (introdução)

Curso de Java

by Antonio Rodrigues Carvalho Neto

Page 2: Java   orientação a objetos (introdução)

Orientação a Objetos

Page 3: Java   orientação a objetos (introdução)

Evolução

Programação Linear•Go Tos

ProgramaçãoEstruturada• If then• Loops• Case

Analise e ProjetoEstruturado

Engenharia da Informação

Orientação a Objetos

Era da ProgramaçãoConstantine

StevensJamesMartin

50 60 70 80 90 2000

Page 4: Java   orientação a objetos (introdução)

O que é Orientação a Objetos

� A orientação a Objetos visa abstraircaracterísticas de entidades concretas e abstratas do mundo real, criando padrões ou classificações que posteriormente serão transformados em objetos virtuais.

Page 5: Java   orientação a objetos (introdução)

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.

Page 6: Java   orientação a objetos (introdução)

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.

Page 7: Java   orientação a objetos (introdução)

Classe e Objetos

� Classe é um conjunto de objetos com caracteristicas e comportamentos afins.

Page 8: Java   orientação a objetos (introdução)

Classe e Objetos

� Objeto é um elemento concreto de um tipo de classe.

Fusca (1)

Fusca (2)

Fusca (3)

Page 9: Java   orientação a objetos (introdução)

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

Page 10: Java   orientação a objetos (introdução)

Exemplo

public class Gato {float tamanho;float peso;

void brinca() { System.out.println(“Estou brincando”);

}

void mia() { System.out.println(“miau ...”);

}}

Gato

brinca()mia()

tamanhopeso

Page 11: Java   orientação a objetos (introdução)

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.

Page 12: Java   orientação a objetos (introdução)

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údosdiferentes em suas características, e o comportamento de cada um irá variar conforme estes conteúdos.

Page 13: Java   orientação a objetos (introdução)

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();

Page 14: Java   orientação a objetos (introdução)

Classes - Instanciando

� A partir de uma mesma classe é possível criar diversos objetos.

fusca1

fusca2herbie

Classe

Objetos

Page 15: Java   orientação a objetos (introdução)

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 ();

Page 16: Java   orientação a objetos (introdução)

Objetos

� Apartir do momento em que a classe for instanciada, o java criará mais um objeto na memória, que poderá conter informaçõesdiferentes 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.

Page 17: Java   orientação a objetos (introdução)

Heap

Objeto Carro : {autonomia:0.0maxKmHora:0Marca:“”Modelo:“”ano:0velocidade:0

}

Objeto : Carro{autonomia:0.0maxKmHora:0Marca:“”Modelo:“”ano:0velocidade:0

}

Objeto : Carro{autonomia:0.0maxKmHora:0Marca:“”Modelo:“”ano:0velocidade: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

Page 18: Java   orientação a objetos (introdução)

Objetos

� A sintaxe para atribuir uma informação para uma propriedade do objeto é : <nome do objeto>.<nome da propriedade> = <novo valo r>;

� 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 );

Page 19: Java   orientação a objetos (introdução)

Objetos

Execução ObjetosClasses

JVM

Carro

frear()acelerar()

float autonomiaint maxKmHora

String MarcaString Modelo

int anoint velocidade

TesteCarro

main()

fusca1

acelerar()frear()

autonomia : 358.8fmaxKmHora : 120

Marca : “Volkswagen”Modelo : “”

ano : 0velocidade : 0

fusca2

brinca()mia()

autonomia : 0.0fmaxKmHora : 125

Marca : “”Modelo : “”

ano : 0velocidade : 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

Page 20: Java   orientação a objetos (introdução)

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.