Inicialmente este blog foi criado para armazenar algumas dicas e links de UNIX/Linux, OpenVMS, linguagem C, Assembly, TCP/IP e nerdezas afins. No entanto devido ao autor ter abandonado o seu plano de ser um super hacker e dominar o mundo (devido esposa, família, filhos, trabalho), a partir de 2012 este blog tem um tipo de nerdeza mais light (Android, Linux, RetroPie (retrogames), produtividade, e por aí vai). Estas dicas raramente serão criações minhas.

Mostrando postagens com marcador programacao orientada a objetos. Mostrar todas as postagens
Mostrando postagens com marcador programacao orientada a objetos. Mostrar todas as postagens

quarta-feira, 23 de setembro de 2009

engenharia reversa em java

Para quem tem o .class mas não tem o .java, aí vai um mirror para baixar o Java Decompiler. Muito útil e pequenino! ;-)

http://www.varaneckas.com/jad

Depois vai no Jude, importa os .java e, voi-lá!, podemos montar o diagrama de classes.

terça-feira, 8 de setembro de 2009

gerando números aleatórios - java

Em um post anterior (gerando números aleatórios) eu fiz uma função para gerar números aleatórios na linguagem C. Agora aí vai uma versão java fortemente inspirada na maneira que faço no post mencionado.

O que eu queria fazer era um bobo jogo de dados. No lançamento de um dado ele me retornaria um valor aleatório entre 1 e 6, inclusive. Aí vai a implementação da classe Dado.


import java.util.Random;

public class Dado {
        private int valorDaFace;
        private static int seed = 0;

        public int getValorDaFace() {
                return valorDaFace;
        }

        public void lançar() {
                Random r = new Random(System.currentTimeMillis() + seed++);

                valorDaFace = 1 + r.nextInt(6);
        } // fim de lançar()

} // fim da classe Dado


O atributo seed é para evitar que quando dois dados sejam lançados um seguido do outro, o resultado seja o mesmo. Em outras palavras, o método System.currentTimeMillis() se chamado muito próximo um do outro, pode retornar o mesmo valor, e isso faria Random gerar o mesmo número. O seed sempre diferente contorna esse problema.

JUDE no Linux

Dica que pesquei no google e não me lembro o lugar. Basta dar uma googlada...

Não tem segredo algum! O jude é feito em java, e portanta basta ter uma máquina virtual java!

1. ir na página do jude, registrar-se e baixar o jude-community.

2. descompactar o arquivo .zip em algum lugar (eu coloquei em /usr/local).

3. para executar o jude basta usar o comando:

prompt$ java -jar /usr/local/jude_community/jude-community.jar

4. para facilitar eu criei um scriptzinho besta chamado 'jude' e salvei em /usr/local/bin:

#!/bin/bash
JUDE_JAR=/usr/local/jude_community/jude-community.jar
/usr/bin/java -jar $JUDE_JAR


5. agora é só criar um atalho com um ícone bonitinho e colocar no seu ambiente gráfico favorito! ;-)

Não tem jeito... tive que me render a programação orientada a objetos... :/

terça-feira, 17 de março de 2009

Dica Orientada a Objetos

Dicas de orientação a objetos.

Na verdade essa é mais uma dica de modelagem com UML.

Quando estamos nos referindo a um campo de uma classe que é um objeto de valor devemos modelá-lo como um atributo no diagrama de classes. Quando o campo é uma objeto de referência, devemos modelá-lo como uma associação.

Exemplos de objetos de valor: data, preço, hora.

Exemplos de objetos de referência: cliente, aluno, empregado.

tags