Uma classe usando o método de outra

5 respostas
D

Pessoal, estou iniciando em java e gostaria de saber como posso fazer para uma classe se comunicar com o método de outra.

EX:

Tenho 3 classes: Empresa, funcionário e outra que abriga o main.

Na classe Empresa eu tenho os métodos.

ndefuncionarios (Número de funcionários) e dfuncionarios(Despesa com os salários dos funcionários).

Na classe Funcionarios eu tenho os métodos.

novofuncionario (que adiciona um funcionario) e demitir(altera o status desse funcionario para inativo na empresa).

Minha dúvida é como eu faço para que quando eu use os métodos ndefuncionarios e dfuncionarios da classe Empresa eu possa usar os dados de novofuncionario e demitir da classe Funcionários?.

Como faço uma classe usar outra?

Para os que conhecem e acredito que sejam muitos. Estou usando a apostila da Caelum como fonte de estudo primário.

Não estou usando modificadores de acesso por enquanto.

Quem puder me dar uma força ficarei muito agradecido.

Atenciosamente

Dhonatan

5 Respostas

edutoporoski

Cara, você poderia postar as classes para a gente dar uma olhada… fica mais facil pra poder te ajudar… :smiley:

S

Você deve instanciar a classe primeiramente, o que seria gerar um objeto da classe que se quer utilizar, você pode fazer assim:

Funcionario funcionario = new Funcionario();

A partir dai vocẽ tem a variável funcionário que possuí uma referẽncia ao objeto Funcionário e com isso podemos chamar qualquer método/propriedade desse objeto dessa forma:

funcionario.novofuncionario("Aqui você passa os parametros que quiser separados por virgula");
daveiga

Sem utilizar modificadores de acesso você só pode acessar os métodos das classes de um mesmo pacote.

Use o public por enquanto, até você estudar os níveis de acesso.

Até lá funciona assim:

public class Pessoa{

 public int umMetodo(){
     return 9;
 } 

}


public class OutraClasse{
  
 public int  outroMetodo(){
       Pessoa p = new Pessoa();
       return 1 + p.umMetodo();

 }

}


public class Main{

public static void main(String[] args){
     OutraClasse o = new OutraClasse();
     System.out.println(o.outroMetodo()); // Imprime 10
} 

}

Era essa mesmo a dúvida?

D
edutoporoski:
Cara, você poderia postar as classes para a gente dar uma olhada.... fica mais facil pra poder te ajudar..... :D

Acredito que esteja toda errada mas ai vai

public class Empresa {
	String nome = "Empresa";
	String cnpj = "[telefone removido]";
	Funcionario[]  empregados;

	int cont= 0;
	double despesas =0;
	
	void ndefuncionarios(Funcionario f){		
		this.empregados[cont]= f;
		cont++;
	}
	
	void dfuncionarios (Funcionario f){
		
	}
	}
import java.util.Scanner;
public class Funcionario {
	String nome;
	String departamento;
	double salario;
	String dtadmicao;
	String rg;
	boolean estado;
	
	void novofuncionario(){
		Scanner a = new Scanner(System.in);
		System.out.println ("Forneça o nome do Funcionário");
		nome = a.next();
		
		Scanner b = new Scanner(System.in);
		System.out.println ("Informe o departamento do Funcionário");
		departamento = b.next();
		
		Scanner c = new Scanner(System.in);
		System.out.println ("Informe o Salário do Funcionário");
		salario = c.nextInt();
		
		Scanner d = new Scanner(System.in);
		System.out.println ("Informe a data de admição do Funcionário");
		dtadmicao = d.next();
		
		Scanner e = new Scanner(System.in);
		System.out.println ("Informe o RG do Funcionário");
		rg = e.next();
		
		estado = true;
		
		System.out.println ("Novo Funcionário cadastrado!");
	}


	
	void demite(){
		estado = false;
		
		
	}
}
public class SistemaPlay {
	
	public static void main (String[] args){
		Funcionario a = new Funcionario();
		a.novofuncionario();
		
	}

}
D

O que estou precisando é que toda vez que eu adicione um novo funcionário que os métodos ndefuncionário e dfuncionarios seja alterado.

principalmente o dfuncionarios que tem que receber o salário desse funcionário que foi adicionado no caso de uma nova contratação e que quando um funcionário seja demitido que seja retirado o salario dele.

Criado 23 de janeiro de 2012
Ultima resposta 23 de jan. de 2012
Respostas 5
Participantes 4