terça-feira, 29 de setembro de 2009

Como montar classes e subclasses em JAVA.

Olá pessoal.
Aqui vai um exemplo de como trabalhar com classes e subclasses em um exemplo bem fácil. A idéia é montar uma classe pare gerênciar um cadastro de pessoas, e duas subclasses para separar esse controle entre Alunos e Funcionários.
Para começar, criamos a SuperClasse (ou classe pai), cuja estrutura é responsável por armazenar as informações padrões das pessoas (nome, rg e endereço).

Arquivo: clsPessoa.java

public class clsPessoa {
//Atributos para armazenar as informações.
String strNome, strEnd, strRG;

//Método Construtor da classe, onde são definidos os valores padrão dos atributos
public clsPessoa(){
this.strNome = "";
this.strEnd = "";
this.strRG = "";
}

//Metodo que insere valor no atributo strNome da classe
public void setNome(String str){
this.strNome = str;
}
//Metodo que insere valor no atributo strEnd da classe
public void setEndereco(String str){
this.strEnd = str;
}
//Metodo que insere valor no atributo strRG da classe
public void setRG(String str){
this.strRG = str;
}

//Metodo que retorna valor do atributo strNome da classe
public String getNome(){
return this.strNome;
}
//Metodo que retorna valor do atributo strEnd da classe
public String getEndereco(){
return this.strEnd;
}
//Metodo que retorna valor do atributo strRG da classe
public String getRG(){
return this.strRG;
}


//Metodo para cadastrar uma nova pessoa.
public void Cadastrar(String nome, String endereco, String rg){
setNome(nome);
setEndereco(endereco);
setRG(rg);
}
}

Agora criaremos a subclasse (ou classe filha), que receberá os dados das pessoas cadastradas como funcionários.
Arquivo: clsFuncionario.java

public class clsFuncionario extends clsPessoa {
int intCod;
String strFun;
public clsFuncionario() {
this.intCod = 0;
this.strFun = "";
}
public clsFuncionario(int codigo, String nome, String endereco, String rg, String funcao) {
Cadastra(codigo, nome, endereco, rg, funcao);
}
private void Cadastra(int codigo, String funcao){
this.intCod = codigo;
this.strFun = funcao;
}
public void Cadastra(int codigo, String nome, String endereco, String rg, String funcao){
Cadastra(codigo, funcao);
super.Cadastrar(nome, endereco, rg);
}
public void Consulta(){
System.out.println("Funcionário Número: " + this.intCod + "" +
"\n-Nome: " + super.strNome + "" +
"\n-Endereço: " + super.strEnd +
"\n-RG: " + super.strRG +
"\n-Função: " + this.strFun);
}
}

Agora criaremos a subclasse (ou classe filha), que receberá os dados das pessoas cadastradas como alunos.
Arquivo: clsAluno.java

public class clsAluno extends clsPessoa {
int intCod;
String strCur;
public clsAluno() {
this.intCod = 0;
this.strCur = "";
}
public clsAluno(int codigo, String nome, String endereco, String rg, String funcao) {
Cadastra(codigo, nome, endereco, rg, funcao);
}
private void Cadastra(int codigo, String funcao){
this.intCod = codigo;
this.strCur = funcao;
}
public void Cadastra(int codigo, String nome, String endereco, String rg, String funcao){
Cadastra(codigo, funcao);
super.Cadastrar(nome, endereco, rg);
}
public void Consulta(){
System.out.println("Aluno Número: " + this.intCod + "" +
"\n-Nome: " + super.strNome + "" +
"\n-Endereço: " + super.strEnd +
"\n-RG: " + super.strRG +
"\n-Curso: " + this.strCur);
}
}

Aqui está uma classe criada para testar a estrutura que acabamos de criar.
Arquivo: TestaClasse.java

public class TestaClasse {
public static void main(String[] args) {

clsFuncionario Fun1, Fun2;
clsAluno Alu1, Alu2;

Fun1 = new clsFuncionario();
Fun1.Cadastra(1, "Fulano", "Rua 1", "12.345.678-9", "Cabista");
Fun1.Consulta();

System.out.println();

Alu1 = new clsAluno();
Alu1.Cadastra(1, "Cicrano", "Rua 2", "09.876.543-2", "Ciência da Computação");
Alu1.Consulta();

System.out.println();

Fun2 = new clsFuncionario(2, "Beltrano", "Rua 3", "54.367.281-9","Técnico de Informática");
Fun2.Consulta();

System.out.println();

Alu2 = new clsAluno(2, "Erculano", "Rua 4", "19.823.746-5","Sistemas de Informação");
Alu2.Consulta();
}
}

sexta-feira, 25 de setembro de 2009

Bem vindo ao Programe com a GSI.

Olá companheiros programadores e afins.

A GSI os convida a participarem de sua mais nova iniciativa. Depois do GSI - TIRAMOS A SUA DÚVIDA, criamos o "Programe com a GSI", que promete ser uma excelente fonte de pesquisa para você conseguir resolver aquele seu "probleminha" de lógica, ou encontrar a solução para aquele seu programa que não roda como deveria.

Aguardem novas postagens.