Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida no Ex. 3 da Aula 3 - Começando com Orientação a objetos

Pessoal, boa tarde!

Neste exercício 3 temos que fazer o método mostra(), na resposta se não temos os valores das variáveis temos que definir no main é isso?

exemplo:

    void mostra(){

        System.out.println("Nome: " + this.nome);
        System.out.println("RG: "+this.rg);
        System.out.println("Data Entrada: " + this.dataEntrada);
        System.out.println("Saário: " + this.salario);
        System.out.println("Ganho Anual: " + this.calculaGanhoAnual());

    }
public static void main(String[] args) {

        Funcionario employee = new Funcionario();
        employee.nome = "Fernanda";
        employee.rg = "95.138.405-5";
        employee.dataEntrada = "13/07/2015";
        employee.salario = 100.00;

        employee.mostra();
}

Correto?

4 respostas
solução!

Exatamente Fernanda.

O método main vai executar as regras que você criou.

Imagine que você tenha um outro funcionário, com caracteristicas (atributos) diferentes mas que executa a mesma ação (método), você precisa de um modelo pra que possa criar qualquer funcionário e por isso a classe Funcionário deve ser o mais genérica possível. Como os funcionários são, os atributos deles são passados onde você vai usá-los.

Boa noite Fernanda,

os valores dos atributos são definidos com os "construtores" de objetos das classes. Se o programador não definir um construtor o Java atribuirá valores padrões para os atributos, que foi o nosso caso. Experimente não atribuir os valores no método main e você verá na execução do código que serão atribuídos valores 0, por padrão. No meu código comentei a linha que atribuía os valores dos atributos da data,

f1.dataDeEntradaNoBanco = new Data();
//f1.dataDeEntradaNoBanco.preencheData(10,03,1997);

e veja os valores de saída:

Nome: Hugo
Departamento: Caelum - Alura
Salário: 100.0
Admissão: 0/0/0
RG: 00000000-1

Programação Orientada a Objetos http://www.dca.fee.unicamp.br/cursos/PooJava/metodos/construtor.html

hum, ok. Obrigada a todos.

Fernanda, quando não inicializamos os atributos na classe Funcionario, ou seja, não definimos o salario, nome, por exemplo, quando for criar o objeto Funcionario, a JVM define esses valores como valores padrões. E quais são esses valores padrões? O valor padrão de String é null, de double é 0 e por aí vai. Após criar o objeto Funcionario e pedir para executar o método mostrar(), o console irá mostrar esses valores. Agora, caso você defina que o nome seja "Fulano" e salario 1000.0, e pedir para executar o método mostrar(), será exibido no console esses valores definidos. Espero que tenha ajudado.