Introdu - PowerPoint PPT Presentation

About This Presentation
Title:

Introdu

Description:

Title: Introdu o ao OO (Aula 5) Author: Ricardo Linden Last modified by: d11-2 Created Date: 8/23/1999 5:38:43 PM Document presentation format – PowerPoint PPT presentation

Number of Views:107
Avg rating:3.0/5.0
Slides: 75
Provided by: RicardoL153
Category:
Tags: core | introdu | java

less

Transcript and Presenter's Notes

Title: Introdu


1
Introdução ao uso de classes Prof. Ricardo Linden
2
Voltando ao passado...
  • Vamos rever os conceitos de orientação a objetos,
    de forma genérica, mas nos preparando para
    implementá-los em Java.
  • Seria interessante ler o capítulo 4 do livro
    texto
  • Core Java 2 - V.1 - Fundamentos
  • Cornell, Gary Horstmann, Cay
  • Ed. Makron Books

3
Programação Orientada a Objetos
  • A POO surgiu a partir da idéia de identificar
    dentro de um problema as suas partes componentes,
    que seriam os objetos.
  • Cada objeto realiza uma série de atividades e
    expõe para o mundo somente uma pequena interface.
  • Isto quer dizer que o objeto é uma abstração de
    um determinado processo/entidade.

4
Abstração
  • Abstração é o termos que descreve escolher o que
    é importante sobre nossos objetos quando temos o
    objetivo de resolver um determinado problema.
  • É o processo de descrever as características
    essenciais de um objeto no mundo
  • A cor de um carro não é importante quando estamos
    desenvolvendo um modelo de direção
  • Entretanto, a cor é extremamente importante
    quando estamos determinando um modelo de
    fabricação.

5
Definição Formal
Abstração
Uma abstração descreve as características
essenciais de um objeto aquelas que o distinguem
de todos os outros tipos de objeto e fornece
assim para aquele que analisa um sistema
fronteiras conceituais bem definidas. --Booch,
1994
Isto é a abstração descreve o que nós pensamos
que é importante em um objeto, os aspectos que
nos fazem incluí-lo em nossos sistemas.
6
Classes
  • O que é uma classe?
  • Uma classe é um conjunto de objetos que possuem
    uma estrutura e um comportamento em comum.
  • --Booch 1994
  • Lula, Fernando Henrique, Itamar e Collor são
    todos membros da mesma classe
  • Todas as TVs Sony XPD-4582 TVs são da mesma
    classe

7
Classes
  • Será que Lula e Fernando Henrique são da mesma
    classe?
  • Se a abstração em que estamos pensando é
    presidentes da república então sim.
  • Se a abstração em que estamos pensando diferencia
    entre presidentes de partidos distintos, então
    não.
  • O processo de abstração define se o que é uma
    classe e que objetos fazem parte dela.

8
Classe
  • A classe de um objeto também é chamada às vezes
    de seu tipo.
  • Em Java, assim como em outras linguagens OO, uma
    classe é um modelo que descreve o que os objetos
    desta classe podem fazer.
  • Por exemplo, a classe TV informa quais estados um
    objeto desta classe pode assumir e a que métodos
    ele vai responder.
  • Cada instância de uma classe (objeto) possui suas
    próprias cópias das variáveis de estado.
  • Exceto no caso das variáveis estáticas (membros
    de classe)

9
O que é um objeto?
  • Um objeto no mundo - seja um carro, um avião ou
    um computador, normalmente são coisas que
    associamos a substantivos.
  • Não necessariamente associamos objetos a coisas
    concretas. Outros objetos possíveis são conta
    corrente, mensagem de e-mail, um pedido, uma
    conexão telefônica, etc.
  • Para qualificar um objeto normalmente precisamos
    de três coisas
  • Um estado
  • Um comportamento
  • Uma identidade

10
Objetos
  • O estado consiste do valor das propriedades de um
    objeto
  • Um avião pode ter seus motores ligados ou
    desligados, pode estar a uma determinada altura,
    velocidade e direção, ter assentos ocupados, etc.
  • Uma conexão via internet pode estar ativa ou não,
    ter mandado e recebido n bytes, estar
    estabelecida a uma certa velocidade, com um certo
    protocolo, etc.

11
Classes e Objetos
  • A classe é um molde que podemos usar para criar
    novas isntâncias de objetos (como se fosse uma
    receita ou uma planta).
  • A partir das receitas, podemos construir novos
    porta-aviões, novas TVs, novos projetores, etc.

12
Classes e Objetos
Receita
  • Classe AircraftCarrier
  • possui
  • velocidade
  • núm. de aviões
  • leme
  • pode
  • setVelocidade
  • setNumAvioes
  • setLeme

Instâncias (Objetos)
Nimitz
Vinson
13
Relacionamentos entre objetos
  • Objetos podem ter três tipos de relacionamentos
  • is-a ? relacionamento do tipo herança. Exemplo
    cadeira is-a móvel.
  • has-a ? relacionamento em que um objeto contém
    outro como parte de seus atributos. Exemplo
    pedido has-a item.
  • uses-a ? relacionamento em que um objeto faz
    uso de serviços providos por outra classe ou
    objeto. Exemplo nossos programas até agora
    uses-a classe JDOptionPane.

14
Métodos
  • Métodos podem ser pensados como sendo os verbos
    associados aos nossos objetos
  • Um pedido pode ser enviado, cancelado,
    atualizado, etc.
  • Uma conexão pode ser desfeita, desacelerada, etc.
  • Um avião pode decolar, aterrisar, virar à
    esquerda, etc.
  • Um método também pode ser pensado como uma forma
    de alterar o estado de um objeto
  • Pressionar o botão de liga/desliga muda o estado
    de uma TV.
  • Move o leme de um navio altera sua direção.The
    Roosevelt has

15
Métodos
  • Métodos, em uma programação OO bem feita, são a
    epiderme de um objeto
  • Para acessar ou alterar um estado dentro de um
    objeto, precisamos usar um método

setResolução
Objeto Projetor
Força Resolução Brilho
setForça
setBrilho
16
Encapsulamento
  • Quando só podemos acessar o estado de um objeto
    através de seus métodos, dizemos que estamos
    usando encapsulamento.
  • Por que usar isto?
  • Impede que outros atribuam valores inválidos para
    o estado do objeto, como colocar uma resolução
    inválida para o projetor ou tentar acelerar o
    avião para uma velocidade que ele não alcança
  • Permite que alteremos as estruturas de dados
    internas de um objeto sem afetar os outros
    métodos que o acessam. Por exemplo, imagine que
    500 objetos mudassem o valor do canal da TV e nós
    mudássemos o seu armazenamento de um byte para
    dois.
  • Isto também é chamado de information hiding

17
Encapsulamento
  • O encapsulamento é a base da boa programação
    orientada a objetos.
  • Fazendo objetos bem encapsulados, nós garantimos
    sua reusabilidade e a boa manutenibilidade de
    todos nossos sistemas.
  • Muitos dirão que uma boa programação estruturada
    também é bem encapsulada e também atinge os
    objetivos de se fazer bons códigos.
  • Isto é verdade, mas a programação imperativa
    fornece vários mecanismos para se burlar este
    tipo de boa prática, especialmente quando falamos
    de grandes projetos em que muitos programadores
    estão envolvidos.

18
Definição Formal
Encapsulamento
Encapsulamento é o processo de
compartimentalização dos elementos que constituem
a estrutura e o comportamento de um objeto,
servindo para separar a interface contratual da
sua implementação --Booch 1994
Isto é é a forma de garantir que podemos mudar a
vontade o funcionamento interno de um objeto sem
alterar sua face externa (interface com o mundo)
19
Encapsulamento
  • Um objeto encapsulado deve ser pensado como uma
    caixa preta
  • Seus algoritmos internos são escondidos do
    cliente (aquele que o usa), que apenas pode
    invocar os métodos definidos na interface.

Métodos
Cliente
Dados
20
Encapsulamento
Tendo em vista que nosso objetivo é sempre fazer
os melhores sistemas possíveis, nós vamos sempre
procurar criar classes e objetos que respeitem o
preceito básico do encapsulamento. Todos os
slides a seguir partem deste pressuposto!
21
Abstração e Encapsulamento
  • A abstração diz como um objeto deve se relacionar
    com o mundo.
  • Uma boa abstação garante que nossas classes fazem
    aquilo que é necessário para resolver o problema
    que temos em mãos.
  • O Encapsulamento garante que o mundo não tem
    nenhuma relação ou conhecimento do que acontece
    dentro de um objeto.
  • Um bom encapsulamento garante que nosso código é
    de boa qualidade e pode ser reutilizado.

22
Quais Métodos?
  • Como decidir quais métodos vamos colocar em uma
    classe?
  • Os método definem o comportamento de um objeto,
    isto é, o que ele é capaz de fazer.
  • Os métodos também representam a interface de um
    objeto com o mundo, ou seja, o que o mundo pode
    pedir ao objeto.
  • Por exemplo
  • Uma conta bancária tem uma lista de coisas que
    podem ser realizadas com ela, como abrir, fechar,
    depositar, sacar, etc.

23
Identidade
  • Nem todos os objetos são iguais, mesmo que
    pertençam a uma mesma classe
  • O retroprojetor que estamos usando não é o mesmo
    que está sendo usado em outra turma, mesmo que
    seja da mesma marca e modelo.
  • Minha conta bancária não é igual à do Bill Gates

24
Identidade
Nimitz
Roosevelt
Vinson
25
Definição Formal
Identidade
Identidade é a propriedade de um objeto que o
distingue de forma inequívoca de outro
objeto --Booch 1994
De forma geral objetos são identificados de forma
unívoca pelas suas variáveis de referência, que
são usualmente chamadas de seus
nomes Entretanto, cuidado ao chamar assim, pois
elas só se apontam para um objeto, não sendo
iguais a ele.
26
Resumo de objetos
  • Objetos possuem
  • estados ? é um conjunto de características de
    cada objeto. Mudar o estado de um objeto não
    altera o estado de outro objeto.
  • comportamento ? define o que o objeto é capaz de
    fazer
  • identidade ? é o que permite que nos
    referenciemos separadamente a cada objeto.
  • Encapsulamento esconde do mundo como
    implementamos o estado que é alterado pelo
    comportamento que lhe apresentamos.

27
Escrevendo as classes...
  • Agora vamos começar a aplicar estes conceitos
    dentro do Java.
  • Seria interessante ler o capítulo 4 do livro
    texto
  • Core Java 2 - V.1 - Fundamentos
  • Cornell, Gary Horstmann, Cay
  • Ed. Makron Books

Não estou insistindo só por teimosia. Começar a
trabalhar com orientação a objetos não é fácil!
Os conceitos podem ser extremamente confusos à
primeira vista.
28
Lembrando Classes
  • São o elemento básico da programação orientada a
    objeto, tanto em Java quanto em qualquer outra
    LPOO.
  • A classe define as estruturas (variáveis de
    instância) de um objeto e sua interface funcional
    (métodos).
  • Uma classe é a planta/receita de um objeto
  • É o modelo a partir do qual cada objeto é criado.
  • Por exemplo, a classe String é usada para definir
    objetos String
  • Cada objeto String contem caracteres específicos
    (seu estado).
  • Cada objeto String pode realizar serviços (ter
    comportamentos) tais como toUpperCase,length,
    concant, etc.

29
Lembrando Objetos
  • Um objeto tem
  • estado - características descritivas
    (atributos)
  • comportamento - o que ele pode fazer ou o que
    pode ser feito com ele (métodos)
  • Por exemplo, seja uma moeda que pode ser jogada
    para cima de forma que resulte em cara ou
    coroa
  • O estado é o último resultado
  • O comportamento é o fato de poder ser jogada.
  • Note que apenas o comportamento pode mudar o seu
    estado!

30
Classes
  • Algumas classes, como a classe String já existem
    dentro da biblioteca padrão de classes do Java.
  • Nós podemos querer escrever nossas próprias
    clases para definir objetos específicos para
    nossas necessidades.
  • Por exemplo, poderíamos querer escrever uma
    classe que simule uma moeda.
  • A partir desta classe nós poderíamos criar muitos
    objetos diferentes representando várias moedas
    (mais ou menos como a casa da moeda, que faz um
    molde e depois funde várias cópias).

31
Classes
  • Uma classe contém declarações de atributos e
    declarações de métodos.

int x, y char ch
Declarações de atributos (dados)
Declarações de Método
32
Classes
  • Um dos atributos de uma classe pode ser um
    objeto de outra classe

Declarações de atributos. Note que ambos são
objetos de outras classes
String s int a
  • Isto representa um tipo relacionamento especial
    chamado has-a (possui), que será discutido com
    todo o cuidado mais adiante.

33
Escrevendo métodos
  • Uma declaração de método especifica o código que
    será executado quando o método é invocado
    (chamado)
  • Quando um método é invocado, o flxuo de controle
    vai para dentro dele e executa seu código
    (exatamente igual a um procedimento ou função em
    linguagem imperativa)
  • Quando o método termina, o fluxo retorna para a
    instrução seguinte àquela que chamou-o.
  • A invocação pode retornar um valor ou não,
    dependendo de como o método foi definido.

34
Fluxo de Controle em um Método
  • O método chamado pode ser dentro da mesma classe.
  • Neste caso, somente o nome do método é necessário.

myMétodo
compute

myMétodo()


35
Fluxo de Controle em um Método
  • O método chamado pode ser parte de outra classe
    ou objeto.
  • Neste caso temos que qualificar o nome do método
    chamado usando o nome do objeto que o possui e o
    ponto (o chamado dot operator).

doIt
helpMe
main
helpMe()
obj.doIt()


36
Declaração de Método
  • Toda declaração de um método começa com o
    cabeçalho do método

char calc (int num1, int num2, String message)
Nome do Método
Lista de parâmetros
Tipo de retorno
  • A lista de parâmetros especifica o tipo e o nome
    de cada parâmetro.
  • O nome de cada parâmetro na declaração do método
    é chamado de argumento formal
  • Nenhuma diferença para funções em programação
    imperativa.

37
Declaração de Método
  • O cabeçalho do método é seguido pelo corpo do
    método

char calc (int num1, int num2, String message)
int sum num1 num2 char result
message.charAt (sum) return result
  • sum e result são variáveis locais
  • Elas são criadas cada vez que o método é chamado,
    e são destruídas quando ele termina sua execução.

A expressão retornada deve ser consistente com o
tipo de retorno definido no cabeçalho.
38
Statement return
  • O tipo de retorno de um método indica o tipo do
    valor que o método retorna para a instrução que o
    chamou.
  • Um método que não retorna valor nenhum tem um
    tipo de retorno void
  • O statement return especifica o valor que será
    retornado.
  • A expressão deve ser conforme com o tipo definido
    no cabeçalho.

39
Retornando objetos
  • Um método pode retornar qualquer tipo de dados,
    incluindo de classes que sejam criados por nós.
  • Dado que todos os objetos são alocados
    dinamicamente usando o new, um objeto continua a
    existir mesmo quando o método no qual ele foi
    criado termina.
  • Quem morre ao fim do escopo é a variável de
    referência.
  • O objeto só vai morrer quando ninguém mais faz
    referência a ele (automatic garbage collection).

40
Parâmetros
  • Cada vez que um método é chamado, os argumentos
    reais na chamada são copiados para os argumentos
    formais

ch obj.calc (25, count, "Hello")
41
Escrevendo classes
  • Às vezes um objeto deve interagir com outros
    objetos do mesmo tipo.
  • Por exemplo, quando queremos comparar duas
    strings, nós fazemos o seguinte
  • if s1.equals(s2)
  • Um objeto (s1) executa o método e o outro (s2) é
    passado como parâmetro

42
Exemplo de Classe
  • public class Moeda
  • public final int HEADS 0
  • public final int TAILS 1
  • private int face
  • public Moeda () flip()
  • public void flip() face (int)
    (Math.random() 2)
  • public int getFace() return face
  • public String toString()
  • String faceName
  • if (face HEADS) faceName "Heads"
  • else faceName "Tails"
  • return faceName

43
Sobrecarga de Métodos
  • A sobrecarga de métodos é o processo de usar o
    mesmo nome de método em vários métodos
    diferentes.
  • A assinatura de cada versão do método
    sobrecarregado deve ser única.
  • A assianatura inclui o número, o tipo e a ordem
    dos parâmetros, mas não o tipo de retorno.
  • O compilador deve ser capaz de determinar qual
    versão do métdo será chamada apenas analisando os
    parâmetros que lhe são passados

44
Sobrecarga de Métodos
45
Sobrecarga de Métodos
  • Um método que usamos sempre, o println é
    sobrecarregado
  • println (String s)
  • println (int i)
  • println (double d)
  • etc.
  • As linhas a seguir chamam as diferentes versões
    do método println
  • System.out.println ("The total is")
  • System.out.println (total)

46
Sobrecarga de Métodos
  • Construtores também podem ser sobrecarregados.
  • Um construtor sobrecarregado permite que tenhamos
    várias maneiras de inicializar um objeto de
    acordo com o contexto.
  • Como em todos os métodos, a assinatura de cada
    construtor deve ser distinta de todos os outros.

47
Lembrando Construtores
  • Como vimos na aula 1, um construtor é um método
    especial que é chamado para configurar um objeto
    quando da sua criação.
  • Quando escrever um construtor, lembre-se
  • ele te o nome da classe.
  • Ele não retorna valor
  • Ele não tem tipo de retorno, nem mesmo void
  • É nele onde se inicializam as variáveis das
    instâncias.
  • Não é obrigatório definir um construtor para uma
    classe.

48
Construtor
  • O construtor é chamado quando executamos o
    operador new.
  • Ele é um método que inicializa um objeto
    imediatamente após a sua criação.
  • Construtores não tem nenhum tipo de retorno (nem
    mesmo void).
  • A maioria das classes define seus próprios
    construtores, mas o Java fornece um construtor
    padrão se um não for definido.

49
O operador new
  • O operador new cria uma única instância de uma
    classe nomeada e retorna uma referência para este
    objeto.
  • Classvariable objectreference new classname()
  • O statement é composto de dua partes
  • (1) Classvariable objectreference declara uma
    variável de referência para um objeto daquela
    classe (referência esta que tem valor null)
  • (2) objectreference new classname() aloca
    memória para o objeto e atribui aquele endereço à
    variável de referência.

50
Variáveis de Instância
  • A variável face na classe Moeda é denominada
    variável de instância pois cada instância
    (objeto) da classe Moeda terá uma cópia separada
    dele.
  • Uma declaração da classe simplesmente declara o
    tipo do dado, mas não reserva espaço para ele.
  • Cada vez que um objeto da classe Moeda é criado,
    um anova variável face também é criada.
  • Os objetos da classe têm as mesmas definições de
    métodos, mas têm espaços de memória próprios.
  • Só assim eles podem ter estados diferentes!

51
Variáveis de Instância
  • Os dados são parte da declaração dentro de uma
    classe se sua declaração estiver dentro das
    chaves ( ) da declaração da classe.
  • As declarações devariáveis de instância têm a
    mesma sintaxe da declaração de variáveis locais.
  • A diferença é que as variáveis de instância são
    declaradas fora do escopo de todos os métodos de
    uma classe.

52
Variáveis de Instância
classe moeda
int face
53
Lembrando Encapsulamento
  • Podemos ter duas vistas de um objeto
  • interna - a estrutura de seus dados e os
    algoritmos de seus métodos.
  • externa - a interação do objeto com outros
    objetos do sistema.
  • Do ponto de vista externo, um objeto deve ser uma
    entidade encapsulada que provê serviços
    específicos, que definem a interface do objeto.
  • Tudo que não for visível na interface deve ser
    escondido do resto do sistema.

54
Lembrando Encapsulamento
  • Os métodos de um objeto deve ser os únicos
    autorizados a modificar seu estado.
  • Devemos fazer com que seja difícil, se não
    impossível, que outro objeto possa alterar o
    objeto sem passar pelos seus métodos.
  • O usuário, ou cliente, de um objeto deve poder
    requisitar seus serviços (chamar seus métodos),
    mas não deve saber como estes serviços são
    realizados.

55
Modificadores de Visibilidade
  • No Java, nós fazemos o encapsulamento através do
    uso dos modificadores de visibilidade
    apropriados.
  • Um modificador é uma palavra reservada do Java
    que especifica uma característica particular de
    um método ou atributo.
  • Por exemplo, nós usamos o modificador final para
    definir uma constante.
  • Java tem três modificadores de visibilidade
    básicos
  • public
  • private
  • protected

56
Modificadores de Visibilidade
  • Membros de uma classe que são declarados com
    visibilidade public podem ser acessados de
    qualquer ponto.
  • Membros de uma classe que são declarados com
    visibilidade private só podem acessados de dentro
    da própria classe.
  • Membros declarados sem modificadores de
    visibilidade têm a chamada visibilidade padrão
    (default), que consiste em poder ser acessados
    por qualquer classe dentro do mesmo pacote.

57
Modificadores de Visibilidade
  • De forma geral, nenhum atributo deveria ser
    declarado como público.
  • Métodos que realizam os serviços do objeto devem
    ser declarados como públicos, para que possam ser
    invocados pelos clientes. Estes métodos públicos
    são muitas vezes chamados de métodos de serviço.
  • Um método criado simplesmente para modularizar
    seu código e ajudar um método de serviço é
    chamado de método de suporte e não deve ter
    visibilidade publica.

58
Decompondo métodos
  • Um método deve ser relativamente pequeno, ou pelo
    menos, o mais compreesível possível.
  • Um método potencialmente grande ou de código
    compelxo pode ser decomposto em vários métodos
    menores para aumentar sua clareza.
  • Logo, um método de serviço pode chamar um ou mais
    métodos de apoio para obtermos este resultado.

59
Modificadores de Visibilidade
  • O último destes modificadores é o protected, que
    impede que qualquer outro objeto que não o dono e
    suas sub-classes acessem aquele elemento.
  • Suas vantagens vão ficar mais claras quando
    discutirmos herança, mais adiante.
  • Este modificador e o modificador private garantem
    o encapsulamento, não dependendo da boa vontade
    de ninguém.
  • Por isto nós o usamos na classe Moeda. Dado que
    nós o usamos, precisamos de métodos para pegar os
    valores dos atributos. Daí a existência do getFace

60
static
  • Este modificador faz com que um membro de uma
    classe seja definido como part da classe, sendo
    independente de todos os objetos da classe.
  • Nós já vimos isto aplicado a variáveis, mas pode
    ser usado também em métodos (vide o método main)
  • Este modificador faz com que se crie um membro de
    classe (atributo ou método) que pode ser
    referenciado sem chamar um objeto, mas sim uma
    classe.
  • Exemplo Math.abs

61
main()
  • O método main() é a primeira coisa, após o
    construtor da classe, que é chamado quando
    iniciamos um aplicativo Java. O seu formato é
  • public static void main(String args )
  • Public significa que outras classes e objetos
    podem chamá-lo.
  • Static significa que é um método de classe.
  • Void significa que o método main() não retorna
    um valor.
  • O parâmetro do método main() consiste nos valores
    que lhe são passados por linha de comando.

62
main()
  • O método main recebe um parâmetro, que consiste
    em um array contendo os parâmetros digitados após
    o nome da classe sendo executada.
  • O parâmetro args tem um comportamento idêntico a
    todos os outros arrays de strings em Java.
  • Exemplo ao executar java classe1 x y 2.3, temos
    o seguinte
  • args.length3
  • args0x
  • args1y
  • args22.3

63
Dot (.) Operator
  • O dot(.) operator é usado para acessar vaiáveis e
    métodos dentro de um objeto (se forem de
    instância) ou classe (se forem estáticos)
  • NomeObjetoouClasse.nomedavariável
  • NomeObjetoouClasse.método(lista-de-parâmetros)
  • Pense nisso como um nome e sobrenome. Dentro da
    família todos são conhecidos pelo nome (dentro da
    própria classe um avariável/método é conhecido só
    pelo seu nome), mas fora da família precisamos do
    nome e do sobrenome (fora da classe/objeto
    precisamos do dot operator)

64
Manipulando uma Pessoa
  • Vamos analisar os conceitos que vimos até agora
    analisando a classe Pessoa.
  • Em uma abstração possível, um objeto da classe
    pessoa poderia ser da seguinte forma

nome
age
Sobrenome
65
Manipulando uma Pessoa
Barreira de encapsulamento
nome
idade
Sobrenome
A barreira do encapsulamento protege os atributos
da classe Pessoa de interferência externa indevida
66
Manipulando uma Pessoa
  • Criamos então métodos para que possamos alterar
    atributos dentro de um objeto encapsulado.

Alteradores (Mutators)
setnome
setIdade
setSobrenome
67
Manipulando uma Pessoa
  • Métodos são criados para permitir leitura de fora
    de um objeto encapsulado.

Leitores (Getters)
getnome
getIdade
getSobrenome
68
Manipulando uma Pessoa
  • Para criar uma instância da classe Pessoa, nós
    podemos executar a seguinte instrução dentro de
    qualquer método, como por exemplo o método main (
    )
  • Person person1 new Person( )
  • person1 é uma variável de referência para um
    objeto da classe Pessoa, ou para simplificar, um
    objeto da classe Pessoa.

69
Manipulando uma Pessoa
getIdade
getnome
setnome
setIdade
getSobrenome
setSobrenome
Person1
70
Manipulando uma Pessoa
Lembre-se o operador new cria uma única
instância de uma classe nomeada e retorna uma
referência a este objeto Sua sintaxe
é Classname variable new Classname( ) A
variável de referência criada é de escopo local,
mas o objeto para o qual ela aponta não!
71
Manipulando uma Pessoa
  • O dot (.) operator é usado para acessar métodos
    dentro de um objeto (isto é, métodos que
    pertencem a um objeto e a ele se aplicam)
  • Sua sintaxe é
  • NomedoObjeto.método (lista-de-parâmetros)

72
Exemplo de alteradoresClasse Pessoa
setnome
getIdade
getnome
setIdade
person1.setnome (John)person1.setSobrenome
(Smith)person1.setIdade (21)
setSobrenome
getSobrenome
73
Exemplo de leitores Classe Pessoa
getIdade
getIdade
setnome
getnome
setIdade
getSobrenome
setSobrenome
String sperson1.getnomeString
s2person1.getSobrenomeint iperson1.getIdade
74
Exemplo de Classe
public class Ponto protected int x, y
public Ponto() setPonto( 0, 0 )
public Ponto( int xCoordinate, int
yCoordinate ) setPonto( xCoordinate,
yCoordinate ) public void setPonto(
int xCoordinate, int yCoordinate )
x xCoordinate y yCoordinate
public int getX() return x public
int getY() return y
Write a Comment
User Comments (0)
About PowerShow.com