1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Como imprimir dados da classe mãe em bjetos de classes derivadas?

' Bom dia pessoal, estou fazendo fazendo um exercicio que aplica o conceito básico de herança, mas não consigo imprimir os dados de um metódo pré definido na classe mãe editado nas classes derivadas. Sei que primeiro é chamado o metodo das classes derivadas, mas estou sem ideias de como resolver isto. Agradeceria uma ajuda. Abaixo o código:'

package testafuncionarios;
public class Funcionario {

    private String name;
    private double salary;

    public double calculaBonificacao(){
        return this.salary*0.1;
    }
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    public void mostraDados(){
        System.out.println("Nome: " + getName());
        System.out.println("Salário: " + getSalary());
        System.out.println("Bonificação: " + calculaBonificacao());

    }   
}

package testafuncionarios;

public class Gerente extends Funcionario{

    private String usuario;
    private String senha;

    public double calculaBonificacao(){
        return this.getSalary()*0.6 + 100;

    }

    public void setSenha(String senha) {
        this.senha = senha;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    public String getSenha() {
        return senha;
    }

    public String getUsuario() {
        return usuario;
    }

      public void mostraDados(){
        System.out.println("GERENTE");
        System.out.println("Usuário: " + getUsuario());
        System.out.println("Senha: " + getSenha());
        System.out.println("Bonificação: " + calculaBonificacao());

    }

}

package testafuncionarios;

public class Secretaria extends Funcionario{

    private int ramal;

    public int getRamal() {
        return ramal;
    }

    public void setRamal(int ramal) {
        this.ramal = ramal;}

        public void mostraDados(){
        System.out.println("SECRETARIA");
        System.out.println("Ramal:" + getRamal());

    }
    }
package testafuncionarios;

public class Telefonista extends Funcionario {

    private int estacaoDeTrabalho;

    public void setEstacaoDeTrabalho(int estacaoDeTrabalho) {
        this.estacaoDeTrabalho = estacaoDeTrabalho;
    }

    public int getEstacaoDeTrabalho() {
        return estacaoDeTrabalho;
    }
        public void mostraDados(){
        System.out.println("TELEFONISTA");
        System.out.println("Estação de trabalho: " + getEstacaoDeTrabalho());

    }

}

package testafuncionarios;

public class TestaFuncionarios {


    public static void main(String[] args) {

        Gerente g = new Gerente();
        g.setName("Ruth Mateus");
        g.setSalary(2000);
        g.setUsuario("ruth mateus");
        g.setSenha("augusto122793");

        Telefonista t = new Telefonista();
        t.setName("Carolina Mello");
        t.setSalary(1000);
        t.setEstacaoDeTrabalho(13);

        Secretaria s = new Secretaria();
        s.setName("Tatiana Mateus");
        s.setSalary(1500);
        s.setRamal(198);

        g.mostraDados();
        t.mostraDados();
        s.mostraDados();

    }

}

'''enter code here

' Não consigo imprimir para cada objeto criado os dados predefinidos para todos os funcionários, que são nome e salário, nem imprimir a bonifcação.'

  • Quando for postar algum código favor utilizar a TAG CODE

    Janerson Douglas   06 de fev de 2015
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags herança ou faça a sua própria pergunta.