Como poderia fazer um tipo de dado como no Delphi

5 respostas
oculos

Olá pessoal do GUJ, gostaria de tirar uma dúvida com tipos de dados.
Em Delphi fazia mais ou menos:

type TDados = record nome: String; ender: String; end;

Como poderia fazer em Java?
Muito obrigado pessoal!! :slight_smile:

5 Respostas

caiofilipini

Com uma classe?!

public class Dados {
    private String nome;
    private String endereco;

    // métodos que operam sobre os dados.
}

[]'s

oculos

Puxa vida caiofilipini, eh mesmo!!!
Nem tinha pensado nisso!
Eh que minha idéia era fazer tipo um registro de dados.
Então eu faria um array de Dados? por exemplo:

Dados registro[] = new Dados()[100];

registro[1].nome = nome;

registro[1].endereco = endereco;

Eh isso mesmo??

caiofilipini
oculos:
Eh isso mesmo??

Mais ou menos. Do jeito que você exemplificou, estaria acessando seus atributos explicitamente, o que acaba com o encapsulamento, e geraria um erro de compilação, já que os atributos são privados. O ideal é adicionar um construtor à sua classe e uma forma de acessar os atributos. Além disso, seria bom dar um nome mais esclarecedor para a sua classe. Algo como:

public class Pessoa {
    private String nome;
    private String endereco;

    public Pessoa(String nome, String endereco) {
        this.nome = nome;
        this.endereco = endereco;
    }

    public String getNome() {
        return this.nome;
    }

    public String getEndereco() {
        return this.endereco;
    }
}

Aí você cria os objetos assim:

Pessoa[] registro = new Pessoa[100];
registro[0] = new Pessoa("nome", "endereco");

Note que eu usei o índice "0" para o array. Não sei se você usou o "1" conscientemente, então não custa nada avisar que em Java o primeiro elemento de um array tem o índice "0". :wink:

[]'s

Grinvon

A melhor maneira ao meu vê é você utilizar o Pattern Model/DTO para separar os campos em uma classe que você poderá tratar depois.

oculos

Ah tá, eu sei… usei 1 para exemplificar!!
Entendi o esquema, era essa minha idéia mesmo!
Valeu caiofilipini, valeu mesmo!!! :slight_smile:
Obrigadão ai!!

Criado 19 de março de 2005
Ultima resposta 19 de mar. de 2005
Respostas 5
Participantes 3