Programação orientada a objetos e o Java (parte 5)
No artigo anterior vimos os métodos ou funções-membro e a possibilidade de um método devolver valor de retorno. Agora estudaremos um termo muito importante da programação orientada a objetos, o encapsulamento ou acessibilidade e entenderemos o porque sua utilização é tão importante. Vamos compreender o que são construtores e como funciona dentro do Java.
[ Hits: 34.590 ]
Por: Ygor Thomaz em 12/04/2004 | Blog: http://www.ygorthomaz.net/
Tipo | Valor default | ||
byte, short, int, long, c | 0 | ||
float, double | 0 | ||
Boolean | False | Referências para objetos | Null
Ele será criado apenas no momento da compilação e apenas nos casos que não existam construtor declarado. Podemos fazer:
public class RadioSemConstrutor {
boolean estado; public boolean desligar() { return estado=false; } public boolean ligar() { return estado=true; } } Para provar, basta compilarmos este código e entrar com o comando no diretório do arquivo RadioSemConstrutor.java: $ javap RadioSemConstrutor Este comando retornaria na tela: Compiled from RadioSemConstrutor.java public class RadioSemConstrutor extends java.lang.Object { boolean estado; public RadioSemConstrutor(); public boolean desligar(); public boolean ligar(); } Podemos perceber a presença de um método público sem parâmetro, denominado RadioSemConstrutor. Acabamos de encontrar o construtor default usando o disassembler bytecodes. Vamos utilizar a classe String do pacote java.lang que contem 11 tipos diferentes de construtores. Vamos utilizar um que cria uma string vazia e outro construtor que aceita uma string literal ou outro objeto String. Neste exemplo podemos notar a criação de vários objetos String diferentes, utilizando os construtores citados:
// UseStrings.java
public class UseStrings { public static void main(String args[]) { String s0 = null; String s1 = new String(); String s2 = new String("Alo pessoal!"); System.out.println("Testando contrutores Strings:"); System.out.println("s0 = " + s0); System.out.println("s1 = " + s1); System.out.println("s2 = " + s2); } } Percebemos que uma classe pode ter vários tipos de construtores, todos com o mesmo nome obrigatório. Se diferem apenas pela lista de argumentos ou sobrecarga de construtor. Páginas do artigo
1. Objetivo do artigo2. Encapsulamento 3. Construtores 4. Terminando e referências Outros artigos deste autor
Instalando o QMail e ferrramentas de administração Programação orientada a objetos e o Java (parte 4) Dominando o iptables (parte 1) Programação orientada a objetos e o Java (parte 7) Manipulando erros com try catch finally Leitura recomendada
Jubler - Editor de legendas de filmes para Linux Programação orientada a objetos e o Java (parte 7) Máquina Virtual Java (Java Virtual Machine) Manipulando erros com try catch finally Comentários
[1] Comentário enviado por fabio em 12/04/2004 - 20:17h
Muito bom o artigo! Estou aprendendo Java e essa séria de artigos tem sido de grande utilidade. []'s
[2] Comentário enviado por gustavo_marcon em 12/04/2004 - 20:21h
Muito massa essa tua série de artigos, sugiro que continue com ela e o que vc acha de falar em outros artigos sobre interfaces gráficas? Teus artigos estão sendo muito utéis p/ mim que estou aprendendo Java agora. Só tenho uma perguntinha, vi q vc usou o comando javap, eu não o conhecia vc poderia me dizer p/ que ele serve?
[3] Comentário enviado por ygorth em 13/04/2004 - 14:54h
Ola, pode ficar tranquilo gustavo eu não cosutumo deixar um desafio pela metade. Por enquanto prometo apenas terminar a serie e POO e Java depois veremos, já tinha isso em mente. (: O javap nada mais é do que um disassembler em bytecodes e por essa caracteristicas pode ter diversos usos como o que eu fiz no artigo. Agradeço a todos que tem comentado sobre a serie. Abracos!
[4] Comentário enviado por ygorth em 13/04/2004 - 14:57h
Ola, pode ficar tranquilo gustavo eu não cosutumo deixar um desafio pela metade. Por enquanto prometo apenas terminar a serie e POO e Java depois veremos, já tinha isso em mente. (: O javap nada mais é do que um disassembler em bytecodes e por essa caracteristicas pode ter diversos usos como o que eu fiz no artigo. Agradeço a todos que tem comentado sobre a serie. Abracos!
[5] Comentário enviado por ygorth em 13/04/2004 - 15:01h
Ola, pode ficar tranquilo gustavo eu não cosutumo deixar um desafio pela metade. Por enquanto prometo apenas terminar a serie e POO e Java depois veremos, já tinha isso em mente. (: O javap nada mais é do que um disassembler em bytecodes e por essa caracteristicas pode ter diversos usos como o que eu fiz no artigo. Agradeço a todos que tem comentado sobre a serie. Abracos!
[6] Comentário enviado por ygorth em 13/04/2004 - 15:30h
Desculpem os comentarios repetidos ! A conexão da faculdade deixa a desejar (: PatrocínioSite hospedado pelo provedor RedeHost.
DestaquesArtigosCompartilhando a tela do Computador no Celular via Deskreen Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota Configuração para desligamento automatizado de Computadores em um Ambiente Comercial DicasComo renomear arquivos de letras maiúsculas para minúsculas Imprimindo no formato livreto no Linux Vim - incrementando números em substituição Efeito "livro" em arquivos PDF Como resolver o erro no CUPS: Unable to get list of printer drivers TópicosÉ cada coisa que me aparece! - não é só 3% (3) Melhorando a precisão de valores flutuantes em python[AJUDA] (5) Top 10 do mês
Scripts[Python] Automação de scan de vulnerabilidades [Python] Script para analise de superficie de ataque [Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem [Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!) [Shell Script] Script para adicionar bordas às imagens de uma pasta |