leonardom 23 de abr. de 2004
Seguindo a hierarquia de suas classes:
Um coordenador é um professor (Coordenador extends Professor), que por sua vez é um funcionário (Professor extends Funcionario). Então vc pode fazer isso normalmente:
Funcionado f1 = new Professor ();
Funcionado f2 = new Coordenador ();
Professor p1 = new Coordenador ();
Como vc tem um array de Funcionarios e um coordenador é um funcionario então vc pode colocá-lo nesta lista normalmente.
Espero que tenha ficado mais claro.
ozorro 23 de abr. de 2004
então, tenho:
class Funcionario {
public void salario ( double dblSalario ) {
…
}
}
class Coodenador extends Funcionario {
Funcionario [] f1 = new Professor ();
// posso fazer
f1 [ 0 ]. salario ( 4.12 ) ;
}
eh sempre por valor neh ? tanto Objetos qto tipo primitivos
danieldestro 23 de abr. de 2004
Exato!
Neste caso você está tratando Professor como um funcionário, então só pode invocar os métodos da classe Funcionario.
E passagem é SEMPRE por valor.