Você está na página 1de 141

Bissau International Management and Technology School

Licenciatura 3 en Engenharia Informatica

Programao orientada a
objetos com a linguagem
Java

Abril de 2016 Likadeu Sahi


likadeu.sahi@gmail.com
Sumrio
II. Introduo linguagem Java

1. Histrico da linguagem

2. Caractersticas da linguagem de
programao Java
3. Plataforma Java
Sumrio
II. Introduo linguagem Java
4. Por que usar Java?

5. Meu primeiro programa Java

6. A linguagem Java e a orientao a objetos

7. Elementos bsicos da linguagem Java


Sumrio
II. Introduo linguagem Java
9. Exerccios do captulo 2
II. Introduo ao linguagem
Java
1.Histrico da linguagem
A tecnologia Java foi criada como uma ferramenta de
programao de um projeto da Sun Microsystems,
chamado The Green Project, iniciado por Patrick
Naughton, Mike Sheridan e James Gosling, em 1991.
Objetivo principal de projeto: criar uma nova
plataforma para a computao interativa.
No vero de 1992 foi gerada a primeira demonstrao do
projeto, que representou um sistema executando em um
handheld com capacidade de controle remoto que ainda
oferecia uma interface sensvel ao toque (touchscreen)
interativa, chamado de *7 (star seven).
A figura 2.1 apresenta um exemplo da aparncia do *7.
1.Histrico da linguagem
1.Histrico da linguagem
Em 23 de maio de 1995, John Gage, diretor da
Sun Microsystems, e Marc Andreessen, um
executivo da Netscape, anunciaram o
lanamento da plataforma
Java, composta pela Java Virtual Machine
(JVM) e pela API (Application Programming
Interface) Java.
Tal plataforma foi, ento, inserida no Netscape
Navigator, o principal browser de acesso
Internet usado na poca.
2. Caractersticas da linguagem
de programao Java
A linguagem de programao Java
representa uma linguagem simples,
orientada a objetos, multithread,
interpretada, neutra de arquitetura,
portvel, robusta, segura
e que oferece alto desempenho.
2. Caractersticas da linguagem
de programao Java
importante observar que a tecnologia
Java composta de uma linguagem de
programao e de uma plataforma (API e
a mquina virtual).
A seguir, cada uma das caractersticas
citadas descrita.
2.1 Simples
A linguagem Java considerada simples porque permite
o desenvolvimento de sistemas em diferentes sistemas
operacionais e arquiteturas de hardware, sem que o
programador tenha que se preocupar com detalhes de
infra-estrutura.
Dessa forma, o programador consegue desempenhar
seu trabalho de uma forma mais produtiva e efiiente.
Pensando em tornar a linguagem o mais simples
possvel, os projetistas da linguagem Java optaram por
no implementar o uso do conceito de herana mltipla,
de sobrecarga de operadores, ponteiros nem a
operao aritmtica com esse tipo de dado.
2.2 Orientada a objetos
A linguagem Java foi criada seguindo o paradigma da
orientao a objetos e, por isso, traz de forma nativa a
possibilidade de o programador usar os conceitos de
herana, polimorfimo e encapsulamento.
O paradigma da orientao a objetos existe desde
a dcada de 70, mas somente aps o sucesso da
linguagem Java que o paradigma ganhou
credibilidade.
2.2 Orientada a objetos
importante observar que muitos programadores
usam a linguagem Java, mas continuam pensando
no formato estruturado.
Essa m prtica de programao muito freqente
em estudantes e profisionais que utilizam Java
diariamente.
2.3 Multithread
A plataforma Java permite a criao de programas que
implementam o conceito multithread, incluindo
sofiticados mecanismos de sincronizao entre
processos.
O multithreading uma tcnica de programao
concorrente, que permite projetar e implementar
aplicaes paralelas de forma eficiente.
2.3 Interpretada
A linguagem Java interpretada, ou seja, aps a
compilao gerado um arquivo intermedirio (nem texto
nem executvel) no formato bytecode, que poder ser
executado em qualquer arquitetura (Windows, Linux, Mac e
Unix) que tenha uma mquina virtual Java instalada.
A linkedio do programa no formato bytecode realizada
no momento de sua execuo de forma simples e
totalmente gerenciada pela JVM (Java Virtual Machine).
2.4 Independncia de arquitetura
A linguagem Java est projetada para dar suporte a
sistemas que sero implementados em plataformas
heterogneas (hardware e software), como ambiente
Unix, Linux e Mainframe.
Nesses ambientes, o sistema deve ser capaz de ser
executado em diferentes hardwares, como servidor Unix
da HP ou servidor Unix da IBM.
Para acomodar essa situao de interoperabilidade, o
compilador Java gera os programas em um formato
conhecido por bytecode (um formato intermedirio de
cdigo projetado para permitir que mltiplos hardwares e
softwares executem o mesmo cdigo), permitindo que
um programa Java seja executado em qualquer
arquitetura.
2.4 Portabilidade
O que garante a portabilidade dos programas
desenvolvidos em Java a Mquina Virtual Java (Java
Virtual Machine JVM).
Trata-se de uma especifiao na qual o compilador Java
de cada plataforma ir se basear para gerar o cdigo em
bytecode.
Na fiura 2.2 h um programa Java sendo submetido ao
compilador que ir
e gerar gerar um arquivo bytecode com a extenso
.class independente da arquitetura do
sistema operacional utilizado. Esse .class poder ser
executado por qualquer JVM
em qualquer ambiente operacional.
2.4 Portabilidade
2.4 Portabilidade
Devido JVM estar disponvel em inmeras
plataformas, o mesmo arquivo com
extenso .class poder ser executado em diferentes
sistemas operacionais, como
Windows, Solaris, Linux ou Mac OS. A fiura 2.3
apresenta um ambiente onde o mesmo
programa .class poderia estar em execuo em
mltiplos sistema operacionais.
2.4 Portabilidade
2.5 Alto desempenho
A plataforma Java oferece um bom desempenho, pois
executa um cdigo que foi previamente analisado e
convertido para um formato intermedirio.
Outro elemento que auxilia no bom desempenho o
recurso de garbage collector (coletor de lixo), que
executado em segundo plano como uma thread com
baixa prioridade, procurando liberar memria que no
est sendo mais utilizada.
Isso faz com que a memria liberada seja reutilizada por
outra parte do sistema, gerando um bom desempenho
do sistema.
2.6 Robusta
Sistema de tipo rgido que, em tempo de
compilao, verifica erros comuns, como if (cpf
= 1). Nesse caso estamos atribuindo um valor, e
no realizando a comparao. O correto seria
apresentar o comando if (cpf == 1).
Inicializao das variveis e atributos inteiros
com o valor 0 automaticamente ou com vazio no
caso de variveis ou atributos do tipo string.
Manipulao de excees parte integrante da
linguagem.
2.7 Segura
A linguagem Java foi criada para operar em
ambientes distribudos, o que significa que
segurana de extrema importncia.
Com as caractersticas projetadas na linguagem
Java, e principalmente na JVM, podemos
garantir que em um ambiente de rede nenhum
programa Java permitir que outro programa
escrito em qualquer outra linguagem possa se
esconder em um cdigo Java a fim de se
instalar automaticamente.
3. Plataforma Java

O termo genrico plataforma representa o


hardware e o software onde um programa
pode ser executado.
Muitas plataformas podem ser descritas
como uma combinao do sistema
operacional e do hardware que oferece o
suporte.
3. Plataforma Java

No caso do Java o termo plataforma


refere-se somente ao software onde so
executados os programas Java.
A plataforma Java composta de Java
Virtual Machine (JVM) e Java Application
Programming Interface (API).
3. Plataforma Java
A JVM representa a base da plataforma
Java e pode ser instalada na maioria dos
sistemas operacionais disponveis no
mercado.
A API Java representa uma grande
coleo de classes prontas que fornecem
uma grande quantidade de facilidades ao
programador.
3. Plataforma Java
Esse conjunto de classes deve ser
instalado no computador por meio do
download do JDK na verso desejada.
Tais classes so agrupadas em
bibliotecas conhecidas como pacotes.
3.1 Componentes do JDK - Java
Development Kit
O JDK da Oracle fornece:

Compilador (javac)

Visualizador de applets (appletviewer)

Interpretador de bytecode (java)

Gerador de documentao (javadoc)

Etc.
3.1 Componentes do JDK - Java
Development Kit
O JDK fornece pacotes standard para:

Linguagem Java

Sistema de janelas

Controlo de Applets

Entrada/Sada

Comunicao em rede
3.1 Componentes do JDK - Java
Development Kit
O JDK fornece suporte de documentao para:

Comentrios

Implementao

Documentao

Gerador de Documentao
4. Por que usar Java?
A plataforma Java oferece aos
programadores e analistas de sistemas
um conjunto completo de classes para o
desenvolvimento de sistemas web
(Servlet, JSP, JavaServer Faces (JSF)),
desktop (Swing, SWT) e batch (mtodo
main()).
Com essas classes, o tempo para o
desenvolvimento reduzido e a qualidade
do sistema fica muito melhor.
5. Meu primeiro programa Java
Instalaao de Java SE 7
Primeiro programa em linha do comando.
Installaao de IDE NetBeans
Creaao de projecto com Netbeans
Installaao de IDE Eclipse
Creaao de projecto com Eclipse
5. Meu primeiro programa Java
Para compilar um ficheiro .java:

Para executar um ficheiro .class:


6. Convenes de Nomes
As convenes incluem:
Nomes de ficheiros
Cliente.java, OlaMundo.java

Nomes de Classes
Cliente, OlaMundo

Nomes de Mtodos
getNome(), falarOla ()
6. Convenes de Nomes
As convenes incluem:
Standard para variveis
nomeCliente, saldoDaConta

Standard para constantes


SALDO_MINIMO, MAX_NUMBER_OF_ITEMS

Utilizao de caracteres maisculos e


minsculos, nmeros e caracteres especiais
7. Definio de Classes
A definio de classes normalmente inclui:
Modificador de acesso: public, private
A palavra-chave class
Campos das instncias
Constructores
Mtodos das instncias
Campos da classe
Mtodos da classe
7. Definio de Classes
Declarao da classe
public class ContaPoupana {
private double saldo;
Campos da instncias
private String nomeCliente;
private String numeroDeConta;
public static double SALDO_MINIMO = 50000.0;
Campo da classe

public ContaPoupana(){ Construtor


}

public String getNomeCliente(){


return nomeCliente;
}
public void setNomeCliente(String nomeCliente){ Mthodo da instncias
this.nomeCliente = nomeCliente;
}

public static void main(String[] args){


System.out.println(nomeCliente);
Mthodo da classe
}
}
7. Definio de Classes
O contedo das classes delimitado pelas
chaves (caracteres { e }) - todos os mtodos da
classe devem estar entre estes caracteres.
Blocos de cdigo correspondentes a mtodos
tambm devem estar entre estes caracteres.
A cada caracter { que abre um bloco deve haver
um caracter } correspondente que fecha o bloco,
caso contrrio erros de compilao ocorrero.
7. Definio de Classes
No existem regras especiais para o
espaamento vertical ou para a
indentao horizontal, porm
espaamento adequado e indentao
regular fazem com que o cdigo fique
claro e fcil de ler.
7. Definio de Classes
Tradicionalmente os nomes de classes
comeam com caracteres maisculos e
alternam entre palavras.
Nomes de classes que seguem esta
conveno so:
RegistroAcademico,
ContaDeLuz
CadastroDeFuncionariosDeSupermercado
8. Definio de Mthodo
Sempre dentro de uma classe
Especificam:
Modificador de acesso
Palavra-chave static
Argumentos
Tipo de retorno

[access-modifiers] [static] <return-tipo> <mtodo-name> ([arguments])


<java code block>
8. Definio de Mthodo
9. Comentrios
Existem trs tipos de comentrios em
Java, que sero ignorados pelo
compilador mas podem ser bastante teis
para programadores com acesso ao
cdigo-fonte da classe.
Comentrios de uma nica linha comeam
com duas barras inclinadas (//) e terminam ao
final da linha: servem para especificar
comentrios sobre uma regio prxima do
cdigo, geralmente a mesma linha.
9. Comentrios
Comentrios em bloco so delimitados pelos
conjuntos de caracteres /* no incio e */ no
fim. Tudo entre estes dois conjuntos de
caracteres ser considerado como
comentrios pelo compilador.
Comentrios em bloco para documentao
so similares aos comentrios em bloco
comuns, exceto que so iniciados pela
seqncia /** ao invs de /*. Estes
comentrios podem ser analisados pela
ferramenta javadoc para criao automtica
de documentao para a classe.
10. Regras para Declarao de Variveis e
Constantes
Devem ser declaradas antes de ser utilizadas

Uma declarao por linha

No incio de um bloco de cdigo

O bloco de cdigo define o mbito

Inicializao
10. Regras para Declarao de Variveis e
Constantes
11. Regras para a criao de blocos de
cdigo
Agrupar todas as declaraes de classe.
Agrupar todas as declaraes de mtodos.
Agrupar outros segmentos de cdigo
relacionado entre si.
11. Regras para Declarao de Variveis e
Constantes
11. Regras para a criao de instrues
As instrues terminam sempre com um
ponto-evrgula (;)
Instrues compostas so definidas
dentro de chavetas { }.
Utilizar chavetas para instrues de
controlo.
III. Tipos de Dados e
Operadores
Tpicos
O Java oferece primitivas para os tipos de
dados bsicos.
As primitivas so a fundao para
armazenar e utilizar informao.
Declarar e inicializar primitivas a bse
da construo de tipos definidos pelo
utilizador.
Tpicos
Os operadores manipulam dados e objectos.
Aceitam um ou mais argumentos e produzem
um valor.
Java oferece 44 operadores diferentes.
Alguns operadores alteram o valor do operando.
Variveis
Uma varivel a unidade bsica de
armazenamento.
As variveis devem ser declaradas
explicitamente.
Cada varivel tem um tipo, um identificador, e
um mbito.
Nomes de Variveis
Os nomes das variveis devem comear por
uma letra do alfabeto, um underscore, ou um $.
Os outros caracteres podem incluir digitos.
Deve-se utilizar nomes elucidativos para as
variveis, por exemplo, nomeCliente,
dataDeNacimento.
Palavras Reservadas
Tipos de Variveis
Oito tipos de dados primitivos:
Seis tipos numricos
Tipo char, para caracteres
Tipo booleano, para valores verdadeiro ou
falso
Tipos definidos pelo utilizador
Classes
Interfaces
Arrays
Tipos de Dados Primitivos
Declarao de Variveis
A forma bsica de declarao de uma
varivel:
tipo identifier [ = valor];

As variveis podem ser inicializadas


Declarao de Variveis
As variveis locais esto contidas apenas
num mtodo ou bloco de cdigo.
As variveis locais devem ser inicializadas
antes de ser usadas.
Literais Nmericos
Literais no-Nmericos
Exerccio
Encontrar os erros no cdigo abaixo e
corrigi-los.
Operadores
Cinco tipos de operadores:
Atribuio
Aritmticos
Manipulao de bits
Relacionais
Booleanos
Operador de Atribuio
A expresso da direita atribuda
varivel da esquerda:

A expresso da direita sempre avaliada


antes da atribuio.
As atribuies podem ser agrupadas:
Operadores Aritmticos
Realizam operaes aritmticas bsicas
Operam sobre variveis e literais
nmericos
Operadores Aritmticos
A maioria das operaes resultam num int
ou long:

Valores byte, char, e short so promovidos


a int antes da operao.
Se algum argumento for long, o outro
promovido a long, e o resultado long.
Converses e Casts
O Java converte automaticamente valores
de um tipo numrico para outro tipo maior.

O Java no faz automaticamente o


downcast.
Incrementar e Decrementar
O operador ++ incrementa 1 unidade:

O operador ++ pode ser usado de duas


maneiras:
Incrementar e Decrementar
O operador ++ incrementa 1 unidade:

O operador ++ pode ser usado de duas


maneiras:
Incrementar e Decrementar

O operador -- decrementa 1 unidade.


Comparaes
Operadores relacionais e de igualdade:
Comparaes
Operadores relacionais e de igualdade:
Operadores Lgicos
Os resultados de expresses Booleanas
podem ser combinados usando
operadores lgicos:
Atribuio Composta
O operador de atribuio pode ser
combinado com qualquer operador binrio
convencional:
Precedncia de Operadores
A precedncia de um operador determina
a ordem pela qual os operadores so
executados:

Operadores com a mesma precedncia


so executados da esquerda para a
direita (ver nota):
Precedncia de Operadores

Os parentesis permitem alterar a ordem


definida.
Precedncia de Operadores
Concatenao de Strings
O operador + cria e concatena strings:
Resumo
O Java tem oito tipos de dados primitivos.
Uma varivel deve ser declarada antes de
ser usada.
O Java dispe de um bom conjunto de
operadores.
Casting explcitos podem ser necessrios se
utilizar tipos de dados menores do que int.
Os operadores + e += podem ser usados
para criar e concatenar strings.
Exerccio Prtico
Declarar e inicializar variveis.
Utilizar vrios operadores para calcular novos
valores.
Mostrar os resultados no cran.
IV. Instrues de Controlo
de Fluxo
Tpicos
O cdigo por defeito executa
sequencialmente.
Cdigo mais complexo exige uma
execuo condicional.
Existem instrues que necessitam de ser
executadas repetidamente.
O Java dispe de mecanismos de
controlo standard.
Tipos Bsicos de Controlo
Controlo de fluxo pode ser categorizado
em quatro tipos:
Controlo de Fluxo em Java
Agrupar instrues utilizando chavetas para
formar uma instruo composta, i.e. um bloco.
Cada bloco executado como uma nica
instruo dentro da estrutura de controlo de
fluxo.
if ... else
if...if...if...else if...else
Operador Condicional ( ? : )
( boolean_expr ? expr1 : expr2)

uma alternativa til ao if else:


Se boolean_expr=true, o resultado
expr1, seno o resultado expr2:
Exerccio: Descubra os Erros!
switch...case
til para
seleccionar um
entre vrios
valores inteiros
alternativos
As etiquetas de
case devem ser
constantes.
switch...case
Utilizar break para
saltar fora do
switch.
Dar sempre uma
alternative default.
Ciclos
Em Java existem trs tipos de ciclos:
while
do while
for
Todos os ciclos tm quatro partes:
Inicializao
Iterao
Corpo
Terminao
while...
O while o mais simples de todos os
ciclos:

Exemplo:
dowhile
Os ciclos do while tm o teste no fim do
ciclo:

Exemplo:
for...
Os ciclos for so os mais comuns:

Exemplo:

Qual o ciclo while equivalente?


for...
Podem ser declaradas variveis na parte
de inicializao do ciclo for:

As partes de inicializao e iterao


podem consistir de uma lista de
expresses separadas por vrgulas:
Exerccio: Descubra os Erros!
break
Interrompe um ciclo ou uma instruo
switch
Transfere o controlo para a primeira
instruo depois do corpo do ciclo ou
instruo switch
Pode simplificar o cdigo
continue
Apenas pode ser usado em ciclos
Abandona a iterao em curso e salta
para a prxima iterao do ciclo
labeled break, continue
Pode ser usado para saltar fora de ciclos
encaixados, ou continuar um ciclo exterior
ao ciclo corrente
Resumo
A intruo if...else a forma principal de
implementar decises.
Java tambm dispe de instruo switch.
Java oferece trs instrues de ciclos:
while
do while
for
A utilizao de break e continue deve ser
feita criteriosamente.
Exerccios Prticos
Escreva um programa em Java que calcule a
soma dos nmeros pares entre 2 e 200.
Determinar os mltiplos de 5, mas que no
sejam mltiplos de 3, entre 100 e 10000.
Calcular o valor do saldo de um artigo, sabendo
que os descontos so feitos em funo do preo
e segundo a seguinte tabela:
P>10000 40%
5000 < P <= 10000 20%
2500 < P <= 5000 10%
outros 5%
Exerccios Prticos
Crie um arquivo chamado Saudacao.java. Implemente
um programa em Java que contenha uma varivel
chamada hora. Essa varivel deve armazenar a hora do
dia. Esse programa deve imprimir a mensagem Bom
dia se a hora estiver no intervalo [0, 11], Boa tarde se
a hora estiver no intervalo [12, 17] ou Boa noite se a
hora estiver no intervalo [18, 23].
V. Princpios de
Orientao a Objectos
Orientao a Objectos
OO um paradigma diferente para
desenho e programao de software
OO baseia-se na construo de modelos
de objectos reais
OO cria programas que so reutilizveis e
facilmente adaptveis
Os objects so autnomos e incluem
informao e comportamento
O que um Objecto?
Definio filosfica: uma entidade que
pode ser identificada
Na terminologia
OO: uma abstraco de um objecto real
empresarial: uma entidade relevante para o
domnio de aplicao
software: uma estrutura de dados e as
funes associadas
Objectos executam Operaes
Um objecto existe para contribuir com
funcionalidade (comportamento) a um
sistema.
Cada comportamento distinto dado o
nome de operao.
Objectos executam Operaes
Objectos memorizam Valores
Os objects tm conhecimento
(informao) sobre o seu estado actual.
Cada elemento de informao dado o
nome de atributo.
Objectos memorizam Valores
Objectos so Abstraces
No modelo de um objecto, apenas
necessrio incluir operaes e atributos
que so importantes para o problema em
questo.
Encapsulamento
O encapsulamento permite ocultar como as
coisas funcionam e o que se sabe para alm
da interface, as operaes de um objecto.
Uma caixa Multibanco um objecto que
entrega dinheiro aos seus utilizadores:
A caixa MB encapsula isto para os seus
utilizadores.
Violar o encapsulamento considerado um
roubo ao banco.
Violar o encapsulamento em programao
orientada a objectos impossvel.
Hierarquias de objectos
Os objectos so compostos por outros
objectos.
Os objectos podem fazer parte de outros
objectos.
Esta relao entre objectos conhecida
por agregao.
O que uma Classe?
Uma classe uma especificao de
objectos.
Uma definio de uma classe especifica
as operaes e atributos para todas as
instncias de uma classe.
Porque necessitamos de classes?
Uma classe descreve o tipo de um objecto.
Uma classe define o comportamento
(operaes) e estrutura (atributos) de um
grupo de objectos:
Pode-se reduzir a complexidade utilizando
classes.
No mundo existem imensos objectos, razo
pela qual as pessoas os agrupam em tipos.
Se se compreender o tipo, pode-se aplic-lo a
vrios objectos.
Como identificar uma classe?
Identificar a estrutura e comportamento
comum de um grupo de objectos.
Identificar um nico conceito coerente.
Ambos objectos pertencem classe
Caneta.
Classes versus Objectos
As classes so definies estticas que nos
permitem compreender todos os objectos de
uma classe.
Os objectos so as entidades dinmicas que
existem no mundo real e em suas
simulaes.
Nota: em OO as pessoas frequentemente
utilizam ambas as palavras classes e
objectos de forma indiferente; necessrio
utilizar o contexto para distinguir entre os dois
significados possveis.
Herana
Podem existir semelhanas entre classes
distintas.
Deve-se definir as propriedades comuns
(atributos, operaes) entre classes numa
superclasse comum.
As subclasses utilizam herana para
incluir as propriedades comuns entre elas.
Herana
Relao Is-a-Kind-of
Um objecto de uma subclasse -um-tipo-
de objecto de uma superclasse.
Uma subclasse deve ter todo o
comportamento da superclasse.
Polimorfismo
O polimorfismo a capacidade de um
nico nome poder referir objectos de
classes diferentes, se relacionadas por
uma subclasse comum
O polimorfismo surge quando a linguagem
de programao simultaneamente suporta
herana e a associao dinmica de tipos
(late binding)
Polimorfismo
O polimorfismo permite que uma
operao possa existir em diferentes
classes.
Cada operao tem um mesmo
significado mas executada de forma
particular.
Resumo
Um objecto uma abstraco de objecto
real.
Uma classe um molde ou frma de
objectos.
As classes formam rvores de herana;
as operaes definidas numa classe so
herdadas por todas as suas subclasses.
O polimorfismo liberta quem invoca uma
operao de conhecer a classe exacta do
objecto que a ir receber.
VI. Manipulao de
Classes e Objectos em
Java
Objectivos
Ser capaz de:
Utilizar packages para agrupar classes
relacionadas
Definir variveis e mtodos de instncias
Criar objectos e invocar mtodos
Utilizar as palavras public, private e protected
Redefinir mtodos de uma classe
(overloading)
Escrever construtores
Utilizar variveis e mtodos de classes
Contudos
As classes definem as caractersticas,
atributos e comportamento dos objectos.
Todo o cdigo Java reside em classes.
Toda a informao dos objectos
armazenada em variveis.
Os packages auxiliam a controlar o acesso a
classes.
O overloading permite ter interfaces simples.
Os construtores garantem consistncia na
criao de objectos.
Classes Java
Packages
Controlo de Acesso
Classes e Objectos
Criao de Objectos
Os objectos so criados pelo operador
new:

Por exemplo, para criar dois objectos


Movie:
new
O operador new realiza o seguinte:
Aloca memria para o novo objecto
Invoca um mtodo especial da classe para
inicializao de objectos, um constructor
Retorna uma referncia para o novo objecto
Objectos e valores primitivos
A referncia null
As referncias para objectos tm o valor
null at serem inicializadas.
possvel comparar referncias de
objectos a null.
Pode-se eliminar um objecto pela
atribuio do valor null a uma referncia.
Atribuio de Referncias
A atribuio de uma referncia a outra
resulta em duas referncias para o
mesmo objecto:
Variveis de instncia
As variveis de instncia so declaradas
na classe:
Acesso a variveis de instncia
As variveis pblicas de instncia podem
ser acedidas atravs do operador . :
Mtodos
Um mtodo equivalente a uma funo
ou subrotina de outras linguagens:

Um mtodo apenas pode ser definido na


definio de uma classe.
Argumentos de Mtodos
Retorno de valores dum mtodo
Invocar mtodos a uma instncia
Exerccios
Implemente uma classe para definir os
objetos que representaro os clientes de
um banco. Essa classe deve declarar dois
atributos: um para os nomes e outro para
os cdigos dos clientes.
Faa um teste criando dois objetos da
classe Cliente e exibir os atributos com
System.out.println().