UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis 2015.2 Método Define ações a serem realizadas pelo objeto. Precisam ter nome coerente com a ação que irá ser executada e iniciar com letra minúscula. Sempre pertencem à uma classe, nunca isolados, e não podem ser criados dentro de outros métodos. Método • Exemplo de método com retorno: • Método sem retorno: Método Exercício! Criar os seguintes métodos na classe Árvore: trocaNomePopular; eFrutoArvore; produzFlor; Escopo Determina a visibilidade dos atributos em uma classe. Escopo local - Variáveis declaradas dentro de métodos, existem apenas enquanto o método estiver sendo executado. Escopo global - Variáveis declaradas na classe, fora de todos os métodos, podem ser acessadas por todos os métodos e existem enquanto o objeto existir. Escopo • Atributos da classe possuem escopo Global: • Atributos criados em métodos possuem escopo local: Escopo Exercício! Fazer uma calculadora simples, com as quatro operações básicas, utilizando os conceitos de classes , métodos e atributos. Estado Definido pelos valores dos atributos das classes em determinados momentos durante a execução da aplicação. Atributos possuem estado inicial, quando o objeto ao qual pertencem é instanciado, estado final, quando o objeto é destruído, etc. Estado • Estado Inicial das variáveis do método Potencia: • Estado após execução da operação: Operadores Aritméticos Em Java, temos os seguintes operadores aritméticos: + , - , *, / : soma, subtração, multiplicação e divisão. == , != : igual a e diferente de. <,>,<=,>= :menor que,maior que, menor ou igual a, maior ou igual a. &&, || : and e or. Modificadores de Acesso Atributos e classes devem ter ser controlados pelos métodos das classes, ao invés de diretamente pelos programadores usuários. Existem os seguintes modificadores de acesso: Public – Todas as classes podem acessar e/ou modificar. Private – Apenas a classe a qual pertence pode acessar e/ou modificar. Protected – Apenas a classe e classes do mesmo pacote podem acessar e/ou modificar. Static – A variável pode ser acessada por todas as instâncias de objetos desta classe, possuindo o mesmo valor. Se o valor for alterado em alguma das instância, todas verão o valor alterado. Abstract – Declara métodos e classes abstratas. Final – Variável, método ou classe tem valor fixo (constante) e não pode ser alterado. Modificadores de Acesso Exercício! Criar um método resultadoAlterado com o modificador private na classe Soma da calculadora que some 20% ao resultado obtido. É possível acessar este método na classe principal? Alterar o modificador de acesso do método resultadoAlterado para public. É possível acessar este método na classe principal? Alterar o modificador de acesso do método para protected. É possível acessar na classe principal? E na classe Subtrair ? Encapsulamento Capacidade de “esconder” do usuário final os detalhes de implementação de uma classe. Utilização dos Modificadores de Acesso garantem esta propriedade. Somente operações especializadas ou dedicadas manipulam os dados ocultos. Troca de Mensagens Ocorre quando um objeto chama métodos de outro objeto. Alguns métodos irão te retornar respostas, que poderão ser manipuladas para executar operações. Outros métodos não terão retorno, apenas executarão o comando realizado. Troca de Mensagens • Exemplo de troca de mensagens: • Método Potencia na classe Multiplica: Entrada de Dados Em Java, a entrada de dados é feita utilizando Readers, como no exemplo abaixo: • Leitura de dados do teclado, digitado pelo usuário: Construtores Necessários para criar instâncias das classes e inicializar seus atributos. Atributos não inicializados podem causar erros durante execução das aplicações. Código dos construtores é executado quando a instância é criada, antes de qualquer outro código do objeto. Construtores • Exemplo de construtor vazio: • Exemplo de vários construtores em uma mesma classe: Construtores Exercício! Inicializar os atributos da classe Árvore através de construtores. O que aconteceu com os métodos get e set? Retirar os construtores e executar a classe. O que aconteceu? Construtores Exercício! Inicializar as classes Soma, Subtração, Multiplicação e Divisão com construtores, colocando valores fixos nos operandos. Receber os valores dos operandos do usuário e passar para as classes via construtor. Dúvidas?