Poo em Java

3 respostas Resolvido
herança
L

Construa uma classe Funcionário que possua as seguintes variáveis de instância (visibilidade privada): - nome -> String - funcao> String - salario -> double

e uma variável de classe: - numFuncionarios -> int;

A classe deverá conter os seguintes métodos:

  • Construtor default (padrão);
  • Construtor com três parâmetros, cada um deverá receber valores que irão iniciar cada variável de instância;
  • Métodos set e get para o acesso às variáveis de instância; - aumentarSalario, que recebe um percentual de aumento e faz o cálculo;
  • exibir, para a visualização dos valores das variáveis de instância;

Construa uma classe Professor que herde da classe Funcionário e que possua a seguinte variável de instância (visibilidade privada):

  • disciplinas -> Array (vetor) contendo os nomes (String) das disciplinas que o Professor ensina;
public class Funcionario {
  private String nome;
  private String funcao;
  private double salario;
  
  int numFuncionario;
  
  Funcionario(){}
  
  Funcionario(String nome, String funcao, double salario){
	  this.nome=nome;
	  this.funcao=funcao;
	  this.salario=salario;
	  
	}
  
  public void setNome(String nome) {
	  this.nome=nome;
  }
  public String getNome() {
	  return nome;
  }
  public void setFuncao(String funcao) {
	  this.nome=nome;
  }
  public String getFuncao() {
	  return funcao;
  }
  public void setSalario(double porcentagem) {
	  salario=salario *(100-porcentagem)/100;
	  
  }
  
  public void recebeAumento(double valor) {
	       this.salario += valor;
  }
  public void exibir() {
	  System.out.println("Nome" + nome);
	  System.out.println("Função" + funcao);
	  System.out.println("Salario" + funcao);
  }
}
public class Professor extends Funcionario {
     
	public Professor disciplinas [] = new Professor[2];
	
	Professor( ) {
		
	}
	
	Professor(String nome, String funcao, double salario,String disciplina){
		super(nome,funcao,salario);
		this.disciplina= disciplina
	}
	
	public void recebeAumento (double porcentagem) {
		
	}
}

Não estou conseguindo realizar as seguintes instruções:

  • Um construtor default (padrão), onde o número mínimo de disciplinas é 2;
  • Um construtor com parâmetros que inicie todas as variáveis de instância e chame, para ajudá-lo nisso, o construtor da classe base; (esse construtor recebe como parâmetro valores para as variáveis de instância da classe Funcionário e um valor para o número de disciplinas);
  • Sobrescreva o método aumentarSalario, acrescentando ao percentual de aumento do Professor, um bônus de 100,0 para cada disciplina que o mesmo leciona;

3 Respostas

P

Ola

eu não entendi as suas duvidas.

Alias eu não entendi nada do que vc tenta fazer na classe Professor.

Tipo construtor default e numero minimo de disciplinas?

serio eu acho q esta faltando coisas ai.

pq um contrutor para professor q recebe um professor???

L

Realmente esse construtor professor que recebe professor não faz sentido . E em relação aos outros pontos acho que esta faltando algumas coisas. Vou tirar essas duvidas com o professor. Obg!

L
Solucao aceita
public class Funcionario {

private String nome;

private String funcao;

private double salario;

int numFuncionario;

Funcionario(){}

Funcionario(String nome, String funcao, double salario){

this.nome=nome;

this.funcao=funcao;

this.salario=salario;
}
public void setNome(String nome) {

this.nome=nome;

}

public String getNome() {

return nome;

}

public void setFuncao(String funcao) {

this.nome=nome;

}

public String getFuncao() {

return funcao;

}

public void setSalario(double salario) {

this.salario=salario;

}

public void receberAumento(double porcentagem) {

salario=salario * (100-porcentagem)/100;

}

public void exibir() {

System.out.println(Nome + nome);

System.out.println(Função + funcao);

System.out.println(Salario + funcao);

}

}

public class Professor extends Funcionario {
public String disciplinas [] = new String [10];

Professor(String disc1, String disc2) {
	disciplinas[0] = disc1;
	disciplinas[1] = disc2; 
}



Professor(String nome, String funcao, double salario){
	super(nome,funcao,salario);
	int disciplinas=2;
}


public void receberAumento (double porcentagem) {
	
	
	//procurar no array e contar as células que não apontam para nulo
	// multiplicar o resultado da contagem acima por 100,00 e adicionar 
	// o total ao salário usando o setSalario
          	
}

}

Criado 13 de outubro de 2018
Ultima resposta 16 de out. de 2018
Respostas 3
Participantes 2