A Programação teórica java
Por: kamys17 • 4/9/2018 • 1.159 Palavras (5 Páginas) • 300 Visualizações
...
O que é um método estático?
São métodos que podem ser chamados sem a necessidade de criação de instâncias das classes às quais pertencem.
IMPORTANTE:
- estástico: “static” fica atrelado a classe (só pode acessar o método através da classe)
Vs.
- não-estatico: fica atrelado ao objeto (só pode acesso o método através do objeto)
IMP: Note que quando declaramos um atributo como static, ele passa a não ser mais um atributo de
cada objeto, e sim um atributo da classe, a informação fica guardada pela classe, não é mais
individual para o objeto.
Em outras palavras, métodos e atributos estáticos só podem acessar outros métodos e atributos estáticos da mesma classe, o que faz todo sentido já que dentro de um método estático não temos acesso à referência this, pois um método estático é chamado através da classe, e não de um objeto.
Exemplo estático:
class soma {
Public static int result (int num1, int num2){
return (num1 +num2);
}
}
public class teste {
public static void main (string[]args){
system.out.println(Soma.resultado(10,50)); → acessou pela classe “soma”
}
}
- um bom exemplo para entender se usa estático ou não - Conta de banco:
- Não- estático – objeto seria usado como numero da conta de clientes
- estático – cria o método para calcular o saldo
obs: se é independente do objeto, ai tem que ser na classe (estático), mas se depende do objeto, é não-estatico.
O que é Construtor de Cópia? De um exemplo.
Construtor padrão • Não possui argumentos.
[pic 4]
Construtor de inicialização • Os argumentos definem valores iniciais para os atributos.
[pic 5]
Construtor de cópia • Recebe como argumento um objeto de mesma classe, de onde serão copiados os valores dos atributos.
[pic 6]
Lista 5
[pic 7]
1. O uso de encapsulamento (public, private, …) permite que classes escondam os seus atributos e
o funcionamento dos seus métodos. No exemplo acima, a classe Principal usa o método
mudaCPF sem ter conhecimento do seu funcionamento. Ocultar o funcionamento é uma boa
característica? Explique.
Ocultar o funcionamento permite que objetos “escondam” complexidade do código, além de "proteger" os atributos ou métodos dentro de uma classe, não sendo necessário conhecer o funcionamento para utilização.
O uso de encapsulamento é importante porque futuramente se a forma de validação de CPF necessitar ser alterada, basta alterar o método validaCPF (Sem alterar nada na classe Principal). Essa ideia está clara?
Nesse sentido, seria de não precisar alterar nada na principal “main”, mas eu consigo alterar o método validacpf pois ele esta na mesma classe criada “cliente” (mesmo que privado), e nada na main precisa ser alterado/analisado.
2. Por que o compilador acusa erro nas duas últimas linhas da classe Principal? É possível corrigir?
Pois ele tenta modificar o valor do objeto que esta encapsulado como “private”. Essa alteração só pode ser feita utilizando o “get” e “set” na Classe principal.
3. Tem sentido os modificadores de acesso (public e private) utilizados na classe Cliente?
Como é provável que outros métodos precisem acessar aqueles objetos para modificação/ atualização (ex: idade e endereço), esses tornaria públicos, ao invés de todos “private”.
5. O que faz o comando “cpf.length()”?
Retorna o tamanho do objeto(nesse caso da string) “cpf”.
8. Construtor é um método? Pesquise e justifique. [verificar!]
sim
9. É possível criar uma classe sem implementar construtor? [verificar!]
Sim (você pode inicializando os objetos assim que declarados ou copiando através de métodos, ou colocar outros construtores dentro desse)
COMPLEMENTAÇÃO TEÓRICA DOS SLIDES
Kit de ferramentas para desenvolvimento em Java:
...