Vous êtes sur la page 1sur 24

CLASSES EM JAVA

Dilvan Moreira
(baseado no livro Big Java)

Lembrando Atribuio

Operador: =

= no significa uma afirmao de igualdade


= usado para mudar o valor de uma
varivel

1. int

luckyNumber = 13; //[linha 1]


2. luckyNumber = 12;
//[linha 2]

Leitura

Primeira metade do captulo 2 (1st


Edition)

2.1
2.2
2.3
2.4
2.5
2.6

Using and Constructing Objects


Object Variables
Defining a Class
Testing a Class
Instance Fields
Constructors

Programao

Programao o problema de especificar:

os dados que vo ser usados ou manipulados


as operaes que agem sobre esses dados
a ordem em que as operaes so aplicadas
aos dados

At agora: especificamos dados usando os


tipos primitivos

com operaes pr-definidas como +, -, *, e /

Programando com Classes

E se os dados que queremos trabalhar


so mais complexos que esses tipos
primitivos?

Programando com Classes

E se os dados que queremos trabalhar so mais


complexos que esses tipos primitivos?

Ns podemos criar nossos prprios tipos de


dados: criando uma classe, nela:

especificamos a natureza dos dados que vamos


usar
criamos as operaes que vo ser feitas no nosso
conjunto de dados

Operaes definidas dentro de uma classe so


chamadas mtodos

Programando com Classes

Ns podemos ter mltiplas variveis de tipos


primitivos (ex: int)

cada uma com um nome diferente


cada uma com um valor diferente
int x = 5;
int y = 17;

Similarmente para classes: Ns podemos ter


mltiplas variveis (ou instncias) de uma
classe (ex: String)

cada uma com um nome diferente


cada uma com um valor diferente
String name = Tamara Munzner;
String computerName = pangolin;

Programando com Objetos

Object: uma instancia especfica de uma


classe

Classes so moldes para a criao de


objetos

do mesmo modo que o tipo int um molde


para a criao de nmeros inteiros
programadores definem classes
e objetos so criados a partir de classes

Objetos e Classes

Objeto: entidade que manipulamos nos


programas (pela chamada de mtodos)
Cada objeto pertence a uma classe. Por
exemple, System.out pertene a classe
PrintStream

Mtodos

Mtodo: Sequncia de instrues que acessam


os dados de um objeto
Objetos so manipulados atravs de seus
mtodos
Classe: Define um conjunto de objetos com o
mesmo comportamento (conjunto de mtodos)
A classe determina quais mtodos so
permitidos
String greeting = "Hello";
greeting.println() // Error
greeting.length() // OK

Exemplo de Objeto
public class StringTest
{
public static void main (String[] args)
{
String firstname;
String lastname;
firstname = new String (Kermit");
lastname = new String (theFrog");
System.out.println("I am not " + firstname
+ " " + lastname);
}
}

Exemplo de Objeto
public class StringTest
{
public static void main (String[] args)
{
String firstname;
String lastname;
firstname = new String ("Kermit");
lastname = new String (theFrog");
System.out.println("I am not " + firstname
+ " " + lastname);
}
}

Declara dois objetos String diferentes

um chamado firstname e outro chamado


lastname

Exemplo de Objeto
public class StringTest
{
public static void main (String[] args)
{
String firstname;
String lastname;

A simples declarao de uma varivel no


cria objetos!

Exemplo de Objeto
public class StringTest
{
public static void main (String[] args)
{
String firstname;
String lastname;

A simples declarao de uma varivel no cria


objetos!

Apenas diz ao compilador para reservar espao para


esses dois nomes

Esses espaos no vo armazenar os objetos

Eles guardam ponteiros (referncias) para o endereo


onde os objetos so armazenados.
Os objetos so armazenados em algum lugar na
memria.

Exemplo de Objeto
public class StringTest
{
public static void main (String[] args)
{
String firstname;
String lastname;
firstname = new String ("Kermit");
lastname = new String (theFrog");
System.out.println("I am not " + firstname
+ " " + lastname);
}
}

Assim firstname e lastname no vo conter


objetos Strings

elas contm referencias para objetos String

Construtores

Construtores: mtodo com o mesmo


nome da classe

sempre usado com new


cria o objeto
geralmente inicializado com dados
firstname = new String (Kermit");

Exemplo de Objeto
public class StringTest
{
public static void main (String[] args)
{
String firstname;
String lastname;
firstname = new String (Kermit");
lastname = new String (theFrog");
System.out.println("I am not " + firstname
+ " " + lastname);
}
}

new e o construtor de String criam uma instancia da


classe String

um objeto String com o valor Kermit

Coloca esse objeto em algum lugar da memria

coloca o endereo do objeto em firstname

Exemplo de Objeto
firstname

Exemplo de Objeto
String object

firstname

Kermit

expresso no lado direito do


operador

Exemplo de Objeto
String object

firstname

Kermit

varivel aponta para o resultado


da expresso da direita: no
caso, o objeto string Kermit

Exemplo de Objeto
public class StringTest
{
public static void main (String[] args)
{
String firstname;
String lastname;
firstname = new String (Kermit");
lastname = new String (theFrog");
System.out.println("I am not " + firstname
+ " " + lastname);
}
}

Do mesmo jeito

Exemplo de Objeto
public class StringTest
{
public static void main (String[] args)
{
String firstname = new String (Kermit");
String lastname = new String (theFrog");
System.out.println("I am not " + firstname
+ " " + lastname);
}
}

Declarao e podem ser feitos na mesma


linha

exatamente com feito com tipos primitivos

Programa

Crie uma classe para representar


retngulos. Nessa classe crie um mtodo
intersection que calcula a interseco de
dois retngulos.

Rectangle r3 = r1.intersection(r2);
Escreva um programa IntersectionPrinter
que constri dois retngulos, imprime seus
valores, acha a interseo entre eles e
imprime os valores da interseo.

Perguntas?

Vous aimerez peut-être aussi