• Conceitos Fundamentais
• Criando Classes
• Instanciando Objetos
• Acessando elementos dos objetos
• Métodos da classe MATH
• Chamada de métodos
• Como representamos uma Classe?
• Através da UML (Unified Modeling Language)
• Retângulo com três divisões:
• Nome da Classe • Atributos
• Definindo Atributos
• Atributo é o termo como se denomina uma variável de classe em Java
• Para definirmos um atributo em Java, devemos identificar o tipo de dado que o representa (int, float, string, boolean, etc)
• Que tipo de dados representam os atributos abaixo da classe Automóvel? • Cor
• Modelo
• Marca
• Potência do motor
• Quantidade de portas
• Definindo atributos
• Que tipo de dados representam os atributos abaixo da classe Automóvel?
• Cor String
• Modelo String
• Marca String
• Potência do motor float
• Quantidade de portas int
• Definindo atributos
• Os atributos são definidos seguindo o padrão abaixo:
• Exemplo (omitindo o modificador de acesso):
• Com modificador de acesso:
• Definindo atributos
• Definindo métodos
• A melhor forma de se construir programas está na modularização, ou seja, na divisão do sistema em módulos específicos.
• Métodos são similares às funções em linguagens de programação.
• Um método é representado por uma operação que realiza ações e pode
modificar os valores dos atributos do objeto.
• Pode possuir ou não uma lista parâmetros.
• Pode retornar algum valor ou não.
• Caso retorne algum valor, deverá informar que tipo de valor o método retorna (int, float, String, boolean, etc).
•
Definindo métodos
•
Em Java os
módulos
são descritos por
métodos
e
classes
, que podem
ser:
• Pré-empacotados: disponíveis na Java API (bibliotecas de classes Java).
• Métodos definidos pelo programador: tarefas específicas que podem ser utilizadas muitas vezes por um programa.
•
Um método é acionado (invocado) por uma
chamada de método
.
Essa pode ser realizada por objetos da classe do método ou por
• Definindo métodos
• A sintaxe de definição de métodos em Java é a seguinte:
• A declaração mais simples que podemos fazer é a seguinte:
• Modificador de método:
• Visibilidade:
• public: método acessível onde quer que a classe seja acessível.
• private: método acessível apenas na classe.
• protected: método acessível na classe, subclasses e classes no mesmo pacote.
• abstract: método sem corpo.
• static: método de classe (não necessitam de objetos da classe para sua chamada).
• No caso de omissão de um modificador de visibilidade, o método é acessível na classe e classes no mesmo pacote.
• O tipo de retorno (tipo de dado) de um método é obrigatório, podendo ser: • tipo primitivo (boolean, char, byte, short, int, long, float e double)
• referências (classes e interfaces definidas pelo Java, por exemplo, classe String, e classes e interfaces definidas pelo programador)
• Void (vazio)
• Um método pode ter zero, um, ou mais parâmetros:
• Os parâmetros são utilizados para alterar os valores dos atributos ou o comportamento dos métodos durante sua execução
• Tipos possíveis de parâmetros:
• tipo primitivo (boolean, char, byte, short, int, long, float e double)
ATRIBUTOS
• O que são Instâncias?
• Chamamos de instância, cada objeto criado a partir de uma classe.
• Depois atribuímos à variável criada o resultado obtido pelo instanciador
• Como mencionado anteriormente, cada objeto possui seus próprios valores dos atributos e possui seu próprios métodos
• Para acessar um atributo, e, por exemplo, exibir a velocidade do objeto
• Os métodos da classe
Math
permitem realizar cálculos comuns necessários em expressões matemáticas.• Exemplos de chamadas de métodos da classe
Math:
• Função raiz quadrada:
• double y = Math.sqrt(10.0);
• Função mínimo:
• double z = Math.min(x,10);
• Os métodos da classe
Math
são métodos estáticos, ou seja, não necessitam de objetos da classe para sua chamada. Nas chamadas dos métodos é informado o nome da classe seguido de ponto (como já fizemos nos programas anteriores):Chamada de Métodos
• Métodos podem ser chamados em declarações de variáveis ou como parâmetros de outros métodos
• Um método de uma classe é acedido pelo operador ponto (“.”) na forma
referência.metodo(params).
Double z = Math.sqrt(9);
ceil ( x )
cos( x )
exp( x )
floor( x )
log( x )
max( x, y )
min( x, y )
pow( x, y )
sin( x )
sqrt( x )
tan( x )
pow(2.0, 7.0) é 128.0; pow(9.0,0.5) é 3.0
sin(0.0) é 0.0
sqrt(900.0) é 30.0; sqrt(9.0) é 3.0
tan(0.0) é 0.0 tangente trigonométrica de x (x em
radianos)
ceil(9.2) é 10.0; ceil (-9.8) é -9.0;
cos(0.0) é 1.0
exp(1.0) é 2.718281828
floor(9.2) é 9.0; floor(-9.8) é -10.0
log(2.718282) é 1.0; log(7.389056) é 2.0
max( 2.3, 12.7) é 12.7; max(-2.3;-12.7) é -2.3
min( 2.3, 12.7) é 2.3; min(-2.3;-12.7) é -12.7
menor valor entre x e y (também em versões para float, int e long)
x elevado à potência y (xy)
seno trigonométrico de x (x em radianos)
raiz quadrada de x método esponencial ex
arredonda o valor de x para o maior inteiro não menor que x
logaritmo natural de x (base e)
maior valor entre x e y (também em versões para float, int e long)
float, int e log)
arredonda o valor de x para o menor inteiro não menor que x
• Chamada sucessiva:
• Um método pode retornar um objeto, ao qual se pode chamar outro método. Existem duas formas de chamar sucessivamente os métodos:
• Guardar o objeto em uma variável
• Possua os atributos nome e idade. E os métodos: dizerONome, dizerAIdade e fazerAniversario.
• O método dizerONome deve escrever na tela a mensagem: “Olá, meu nome é ”, e o valor do
atributo nome.
• O método dizerAIdade deve escrever na tela a mensagem: “Olá, eu tenho X anos”, onde X é o
valor do atributo idade.
• O método fazerAniversario deve adicionar 1 à idade da Pessoa
• Crie também um método main que realize as seguintes operações:
• Instancie um objeto do tipo Pessoa. • Atribua o seu nome ao atributo nome. • Atribua a sua idade ao atributo idade. • Chame o método dizerONome
• Possua os atributos acesa e potencia. E os métodos: acender, apagar, informarSituacao e informarPotencia.
• O método acender deve alterar o atributo acesa para true.
• O método apagar deve alterar o atributo acesa para false
• O método informarSituacao deve informar a mensagem “A luz está acesa” caso o atributo acesa seja igual a
true e a mensagem “A luz está apagada” caso o atributo acesa seja igual a false
• O método informarPotencia deve escrever a mensagem “A potência da lâmpara é X”, onde X é o valor do
atribuito potência
• Crie também um método main que realize as seguintes operações:
• Instancie um objeto do tipo Lampada • Chame o método acender
• Chame o método informarSituacao • Chame o método apagar