Poo em Java

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;

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???

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!

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
          	
}

}