24
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)

Aula7.Classes Em Java

Embed Size (px)

DESCRIPTION

java

Citation preview

  • 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 int luckyNumber = 13; //[linha 1]luckyNumber = 12; //[linha 2]

  • LeituraPrimeira metade do captulo 2 (1st Edition)2.1 Using and Constructing Objects2.2 Object Variables2.3 Dening a Class2.4 Testing a Class2.5 Instance Fields2.6 Constructors

  • ProgramaoProgramao o problema de especificar:os dados que vo ser usados ou manipuladosas operaes que agem sobre esses dadosa ordem em que as operaes so aplicadas aos dados

    At agora: especificamos dados usando os tipos primitivoscom operaes pr-definidas como +, -, *, e /

  • Programando com ClassesE se os dados que queremos trabalhar so mais complexos que esses tipos primitivos?

  • Programando com ClassesE 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 usarcriamos as operaes que vo ser feitas no nosso conjunto de dadosOperaes 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 diferentecada uma com um valor diferenteint 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 diferentecada uma com um valor diferenteString name = Tamara Munzner;String computerName = pangolin;

  • Programando com Objetos

    Object: uma instancia especfica de uma classe

    Classes so moldes para a criao de objetosdo mesmo modo que o tipo int um molde para a criao de nmeros inteirosprogramadores definem classese objetos so criados a partir de classes

  • Objetos e ClassesObjeto: entidade que manipulamos nos programas (pela chamada de mtodos)Cada objeto pertence a uma classe. Por exemple, System.out pertene a classe PrintStream

  • MtodosMtodo: Sequncia de instrues que acessam os dados de um objetoObjetos so manipulados atravs de seus mtodosClasse: 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 ObjetoDeclara dois objetos String diferentesum chamado firstname e outro chamado lastname

    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 ObjetoA simples declarao de uma varivel no cria objetos!

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

  • Exemplo de ObjetoA simples declarao de uma varivel no cria objetos!Apenas diz ao compilador para reservar espao para esses dois nomesEsses espaos no vo armazenar os objetosEles guardam ponteiros (referncias) para o endereo onde os objetos so armazenados.Os objetos so armazenados em algum lugar na memria.

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

  • 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 ObjetoAssim firstname e lastname no vo conter objetos Stringselas contm referencias para objetos String

  • ConstrutoresConstrutores: mtodo com o mesmo nome da classesempre usado com newcria o objetogeralmente inicializado com dados

    firstname = new String (Kermit");

  • 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 Objetonew e o construtor de String criam uma instancia da classe Stringum objeto String com o valor Kermit Coloca esse objeto em algum lugar da memriacoloca o endereo do objeto em firstname

  • Exemplo de Objetofirstname

  • Exemplo de ObjetofirstnameString objectKermitexpresso no lado direito do operador

  • Exemplo de ObjetofirstnameString objectKermitvarivel aponta para o resultado da expresso da direita: no caso, o objeto string Kermit

  • 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

    Do mesmo jeito

  • Exemplo de ObjetoDeclarao e podem ser feitos na mesma linhaexatamente com feito com tipos primitivos

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

  • ProgramaCrie 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?

    *************