Duvidas de Instancias em herança

4 respostas
alanbrasil1984
public abstract class Pessoa {
    private String nome;
    
    public Pessoa(){
    	this(""); 	
    }
    public Pessoa (String nome){
    	setNome(nome);
    }
    
    public String getNome(){
    	return this.nome;
    }
    public void setNome(String nome){
    	this.nome = nome;
    }
}
public abstract class Funcionario extends Pessoa {
	private String matricula;
	private double salarioBase;
	
	public Funcionario (){
		this("","",0.0);
	}
	
	public Funcionario (String nome, String matricula, double salarioBase){
		super(nome);
		setMatricula(matricula);
		setSalarioBase(salarioBase);
	}
	public void setMatricula (String matricula){
		this.matricula=matricula;
	}
	public String getMatricula (){
		return this.matricula;
	}
	
	public void setSalarioBase (double salarioBase){
		this.salarioBase=salarioBase;
	}
	public double getSalarioBase (){
		return this.salarioBase;
	}
	
	public abstract double calcSalario();
}
public class Consultoria extends Funcionario{
	private int hTrabalhadas;
	
	public Consultoria () {
		super();
	}
	
	public Consultoria (String nome, String matricula, double salarioBase, int hTrabalhadas){
		super(nome, matricula, salarioBase);
		setHTrabalhadas(hTrabalhadas);
	}
	public void setHTrabalhadas (int hTrabalhadas){
		this.hTrabalhadas = hTrabalhadas;
	}
	public int getHTrabalhadas (){
		return this.hTrabalhadas;
	}
	
	public double calcSalario () {
		return (getHTrabalhadas()*10.00)+getSalarioBase();
	}
}
public class Manutencao extends Funcionario {
	private int mantFeitas;
	
	public Manutencao (){
		this("","",0.0,0);
	}
	
	public Manutencao (String nome, String matricula, double salarioBase, int mantFeitas){
		super(nome, matricula, salarioBase);
		setMantFeitas(mantFeitas);
	}
	public void setMantFeitas (int mantFeitas){
		this.mantFeitas = mantFeitas;
	}
	public double getMantFeitas (){
		return this.mantFeitas;
	}
	
	public double calcSalario () {
		return (getMantFeitas()* 20.00) + getSalarioBase();
	}
	
}
import java.util.Scanner;
public class Principal {
	
	public static void main (String [] args) {
		
		Scanner sc = new Scanner (System.in);
		
		Funcionario mant;
		Funcionario cons;
		
		System.out.println("Digite 1 para manutencao e 2 para consultor");
		int valida = sc.nextInt();
		if (valida == 1 ) {
			mant = new Manutencao();
			System.out.println("digite seu nome: ");
			Manutencao.setNome = sc.netx();
			System.out.println("digite sua Matricula: ");
			Manutencao.setMatricula = sc.next();
			System.out.println("digite seu salario base: ");
			Manutencao.setSalarioBase = sc.nextDouble();
			System.out.println(" digite o numero de manutencoes: ");
			Manutencao.setMantFeitas = sc.nextInt();
			
			
			System.out.println("seu nome"+ getNome());
			System.out.println("sua matricula"+ getMatricula());
			System.out.println("seu Salario base"+ getSalarioBase());
			System.out.println("numero de manutecoes feitas"+ getMantFeitas());
			System.out.println("seu Salario Liquido"+ calcSalario());
		} else if (valida == 2 ) {
			cons = new Consultoria ();
			System.out.println("digite seu nome: ");
			Consultoria.setNome = sc.netx();
			System.out.println("digite sua Matricula: ");
			Consultoria.setMatricula = sc.next();
			System.out.println("digite seu salario base: ");
			Consultoria.setSalarioBase = sc.nextDouble();
			System.out.println(" digite o numero de manutencoes: ");
			Consultoria.setMantFeitas = sc.nextInt();
			
			
			System.out.println("seu nome"+ getNome());
			System.out.println("sua matricula"+ getMatricula());
			System.out.println("seu Salario base"+ getSalarioBase());
			System.out.println("numero de manutecoes feitas"+ getMantFeitas());
			System.out.println("seu SalarioLiquido"+ calcSalario());
			
		}
	}
}

prciso de ajuda desenvolvi isso e diz da erros nos sets e gets...

toda info que vie é bem vinda..

4 Respostas

peczenyj

Vamos aprender java com a tropa de elite do Bope:

/*
* O Bope foi criado para atuar quando a policia perde o controle
* E no rio de janeiro isso acontece com bastante frequencia
*/
class Bope{
        
	private String nome; 
	private int vitimas;
		
	public Bope(String nome){
		this.nome = nome;
		this.vitimas =0;
	}
		
	public void matou(int tantas_vitimas_agora){    
		this.vitimas = this.vitimas + tantas_vitimas_agora;
	}
	
	public int quantas_vitimas(){
		return this.vitimas;
	}
}

public class Programa{
	public static void main(String [] xxx){
		// Apresento o capitão nascimento
		Bope capitao = new Bope("Capitao Nascimento");
		
		// quando o capitão sobre a favela, é pra matar, não pra morrer
		capitao.matou(1000);
		
		// agora ele subiu o morro de novo, com ele não tem erro.
		capitao.matou(2000);
		
                // --> objeto.metodo() <--
		System.out.println("O Bope matou: "+capitao.quantas_vitimas());
	}
}

Bom, agora temos um exemplo claro de como chamar os métodos de um objeto.

Agora... VC TEM 10 SEGUNDOS PRA ARRUMAR O SEU PROGRAMA, GUERREIRO! 10 SEGUNDOS! GRANADAAAAAAAA!

vanderlanio

:smiley: Faca na Caveira ! ! ! ! kkkkkkkkkkkkkkkkk

alanbrasil1984
public abstract class Pessoa {
    private String nome;
    
    public Pessoa(){
    	this(""); 	
    }
    public Pessoa (String nome){
    	setNome(nome);
    }
    
    public String getNome(){
    	return this.nome;
    }
    public void setNome(String nome){
    	this.nome = nome;
    }
}
public abstract class Funcionario extends Pessoa {
	private String matricula;
	private double salarioBase;
	
	public Funcionario (){
		this("","",0.0);
	}
	
	public Funcionario (String nome, String matricula, double salarioBase){
		super(nome);
		setMatricula(matricula);
		setSalarioBase(salarioBase);
	}
	public void setMatricula (String matricula){
		this.matricula=matricula;
	}
	public String getMatricula (){
		return this.matricula;
	}
	
	public void setSalarioBase (double salarioBase){
		this.salarioBase=salarioBase;
	}
	public double getSalarioBase (){
		return this.salarioBase;
	}
	
	public abstract double calcSalario();
}
public class Manutencao extends Funcionario {
	private int mantFeitas;
	
	public Manutencao (){
		this("","",0000.0000,0);
	}
	
	public Manutencao (String nome, String matricula, double salarioBase, int mantFeitas){
		super(nome, matricula, salarioBase);
		setMantFeitas(mantFeitas);
	}
	public void setMantFeitas (int mantFeitas){
		this.mantFeitas = mantFeitas;
	}
	public double getMantFeitas (){
		return this.mantFeitas;
	}
	
	public double calcSalario () {
		return (getMantFeitas()* 20.00) + getSalarioBase();
	}
	
}
public class Consultoria extends Funcionario{
	private int hTrabalhadas;
	
	public Consultoria () {
		super();
	}
	
	public Consultoria (String nome, String matricula, double salarioBase, int hTrabalhadas){
		super(nome, matricula, salarioBase);
		setHTrabalhadas(hTrabalhadas);
	}
	public void setHTrabalhadas (int hTrabalhadas){
		this.hTrabalhadas = hTrabalhadas;
	}
	public int getHTrabalhadas (){
		return this.hTrabalhadas;
	}
	
	public double calcSalario () {
		return (getHTrabalhadas()*10.00)+getSalarioBase();
	}
}
import java.util.Scanner;
public class Principal {
	
	public static void main (String [] args) {
		
		Scanner sc = new Scanner (System.in);
				
		System.out.println("Digite 1 para manutencao e 2 para consultor ou 0 para sair");
		int valida = sc.nextInt();
		
		if (valida == 1 ) {
			Manutencao mant = new Manutencao();
			
			System.out.println("digite seu nome: ");
			mant.setNome(sc.next());
			System.out.println("digite sua Matricula: ");
			mant.setMatricula(sc.next());
			System.out.println("digite seu salario base: ");
			mant.setSalarioBase(sc.nextDouble());
			System.out.println(" digite o numero de manutencoes: ");
			mant.setMantFeitas(sc.nextInt());
			
			
			System.out.println("seu nome: "+mant.getNome());
			System.out.println("sua matricula: "+mant.getMatricula());
			System.out.println("seu Salario base: "+mant.getSalarioBase());
			System.out.println("numero de manutecoes feitas+ salario base: "+mant.getMantFeitas()*20);
			System.out.println("seu Salario Liquido: "+mant.calcSalario());
		} else if (valida == 2 ) {
			Consultoria cons = new Consultoria ();
			System.out.println("digite seu nome: ");
			cons.setNome(sc.next());
			System.out.println("digite sua Matricula: ");
			cons.setMatricula(sc.next());
			System.out.println("digite seu salario base: ");
			cons.setSalarioBase(sc.nextDouble());
			System.out.println(" digite o numero de horas de trabalho: ");
			cons.setHTrabalhadas(sc.nextInt());
			
			
			System.out.println("seu nome: " +cons.getNome());
			System.out.println("sua matricula: "+cons.getMatricula());
			System.out.println("seu Salario base: "+cons.getSalarioBase());
			System.out.println("numero horas trabalhadas feitas + salario base: "+cons.getHTrabalhadas()*10);
			System.out.println("seu SalarioLiquido: "+cons.calcSalario());
			
		}
		
}
}

ESTA AEE GENTE O CODIGO CORRETO PARA QUEM TEM AMESMA DUVIDA CONFERIR O NOSSO AMIGO PECZENYJ ME AJUDOU A VER ONDE EU ESTAVA ERRADO QUE ERA NA CHAMADA DOS METODOS.

MUITO OBRIGADO CARA ........

peczenyj

É com muita satisfação que eu leio isso.

Bom, vamos a aula 2 de Java com o instrutor CARRASCO MALIGNO:

/*
 * Não vem com essa que vc é estudante, vai tomar tapa na cara se não aprender Java. 
 * Saiba que, de cada 100, só 5 terminam o curso. Nem na Sun se treina programador assim.
 */
 class Bope{

     private String nome;
     private int vitimas;

     public Bope(String nome){
         this.nome = nome;
         this.vitimas =1; // ja começa matando!
     }

     public void matou(int tantas_vitimas_agora){
         this.vitimas = this.vitimas + tantas_vitimas_agora;
     }

     public String toString(){
         return  this.nome
                      + " eh um guerreiro que ja matou "
                      + this.vitimas
                      + "! CAVEIRA!";
     }
 }

 public class Programa{
     public static void main(String [] xxx){
         // Apresento o capitão nascimento
         Bope capitao = new Bope("Capitao Nascimento");

         // quando o capitão sobre a favela, é pra matar, não pra morrer
         capitao.matou(2047);

         System.out.println("Apresentando o  " + capitao);
     }
 }

Entendeu? Não?

ENTÃO PEDE PRA SAIR, GUERREIRO!
TU É CORRUPTO, TEU LUGAR É COM .NET, É COM VB! JOCKEY DE IDE! PEDE PRA SAIR! PEDE PRA SAIR AGORA!

Criado 30 de setembro de 2007
Ultima resposta 30 de set. de 2007
Respostas 4
Participantes 3