Variaveis privada

5 respostas
M
import javax.swing.*;

public class Funcionario1{
	private String nomeFunc;
	private double salario;
	private int cargo;
	private int idade;
	
	public Funcionario1(){
	}
	
	public Funcionario1(String nomeFunc,int idade,double salario){
		this.nomeFunc=nomeFunc;
		this.idade=idade;
		this.salario=salario;
	}
	
	public void setNomeFunc(String nomeFunc){
		this.nomeFunc=nomeFunc;
	}
	public void setCargo(int cargo){
		this.cargo=cargo;
	}
	public void setIdade(int idade){
		this.idade=idade;
	}
	public void setSalario(double salario){
		this.salario=salario;
	}
	public String getNomeFunc(){
		return nomeFunc;
	}
	public int getCargo(){
		return cargo;
	}
	public int getIdade(){
		return idade;
	}
	public double getSalario(){
		return salario;
	}
	public void entradaDados(){
		nomeFunc = JOptionPane.showInputDialog(null,"Informe o nome do Funcionario: ");
		salario  = Double.parseDouble(JOptionPane.showInputDialog(null,"Informe o salario do Funcionario: "));
		cargo = Integer.parseInt(JOptionPane.showInputDialog(null,"Informe o cargo do Funcionario: "));
		idade = Integer.parseInt(JOptionPane.showInputDialog(null,"Informe a idade do Funcionario: "));
	}
	
	public String toString(){
		String frase = "Nome Funcionário: "+this.nomeFunc+"\nSalário do Funcionário: "+this.salario+"\nCargo do funcionário: "+this.cargo+"\nIdade do Funcionário: "+this.idade;
		return frase;
	}
	
	public double Bonificacao(){
		return(this.salario*0.1);
	}
}
public class Gerente1 extends Funcionario1{
	private int senha;
	
    public Gerente1(){
    }
	public Gerente1(String nomeFunc,int idade,double salario){
	super(nomeFunc,idade,salario);
	this.senha=senha;
	}
		public void setSenha(int senha){
		this.senha=senha;
	}
	public int getSenha(){
	    return senha;
	}
	public double bonificacao(double bonific){
		return(super.Bonificacao()+100);
	} 
	public void toString(String frase){
		
		frase = "Nome Gerente: "+this.nomeFunc+"\nSalário do Gerente: "+this.salario+"\nCargo do funcionário: "+this.cargo+"\nIdade do Funcionário: "+this.idade+"\nSenha do gerente: "+senha;	 // aki da um erro falando que nomeFunc,salario,cargo e idade sao privado, mas ja que usei o extends, ele nao deveria aceitar, como arrumo isso??	
	}	
		
}
public class TestaEmp{
	public static void main(String[] args){
		Funcionario1 fun = new Funcionario1("Aldo",23,650.60); // para que usar o metodo contrutor, se no caso eu usaria entrada de dados, ele é necassário em um programa
		Gerente1 ger = new Gerente1("Aldinho",25,5000);
		System.out.println("Dados do Funcionário: "+fun.toString());
		System.out.println("Bonificacao Funcionário: "+fun.Bonificacao());
		System.out.println("Bonificacao do gerente: "+ger.Bonificacao());
	}
}

5 Respostas

Matheus_Prado

???

renamed

// aki da um erro falando que nomeFunc,salario,cargo e idade sao privado, mas ja que usei o extends, ele nao deveria aceitar, como arrumo isso??

Métodos private só são visíveis dentro da própria classe. Se você quer que ele seja visível dentro da própria classe mais nas classes filhas, use protected.

// para que usar o metodo contrutor, se no caso eu usaria entrada de dados, ele é necassário em um programa

Você pode fazer desse jeito

Funcionario1 fun = new Funcionario1("Aldo",23,650.60);

ou assim:

Funcionario1 fun = new Funcionario1(); fun.entradaDados();

Perceba que você tem os dois construtores na sua classe. Logo, isso é possível…

ok?

alisonrodrigues

Métodos getter e setter são privates.

kaolzz

Alison,

Não, métodos getters e setters não são private, mas sim public … Os atributos são private e o acesso a esses atributos é dado pelos tais “getters e setters” que , como dito anteriormente, são públicos.

Qualquer coisa veja nesse post sobre “JavaBeans Standards”:

http://cafeteriajava.wordpress.com/2009/10/23/enfim-primeira-aula-java-scjp/

Espero ter ajudado.

alisonrodrigues

kaolzz,

Sim, são public, respondi o fórum errado mesmo…
hehehe

Criado 16 de novembro de 2009
Ultima resposta 17 de nov. de 2009
Respostas 5
Participantes 5