Dúvidas no código

0 respostas
programaçãoobjetojavapoo
Rafael_Rampanelli

Pessoal estou fazendo essa atividade :

  1. Crie as seguintes classes: Veiculo, Motocicleta, Carro, Pessoa e Mecanico. Motocicleta e
    Carro são especializações de Veiculo e Mecanico é especialização de Pessoa. Veiculo deverá ter um
    atributo “registro” (String) que representa o registro do veículo e um atributo “funcionando”
    (boolean) que indica se o carro está ok ou quebrado; Motocicleta deverá ter atributos “marcaPneu1”
    e “marcaPneu2” (ambos String); Carro deverá ter 4 atributos similares aos de motocicleta, no
    entanto um para cada pneu. Pessoa deverá ter um atributo nome (String); Mecanico deverá ter um
    atributo “especialidade” (String) que pode assumir dois valores: “motocicleta” para indicar que o
    mecânico conserta apenas motocicletas, “carro” para indicar que o mecânico conserta apenas carros
    e “ambos” para indicar que ele conserta ambos.
  2. Todos veículos deverão ter um método “imprimeDados” (com a mesma assinatura entre
    eles) que imprime o registro e a marca de cada pneu. No caso da classe Veículo, ele deverá imprimir
    apenas “Veículo não está associado à nenhum tipo”.
  3. A classe Veiculo deverá ser escrita de tal forma que um programador que usá-la (por
    exemplo na main) deverá informar o registro no momento da construção do objeto e não poderá
    mais alterá-lo, mas deverá poder ler o registro se desejar. O registro deverá estar no formato
    “00000000-0” (8 números, um traco e um número). Qualquer formato diferente deste não deverá ser
    aceito e o usuário/programador deverá ser informado. As marcas dos pneus também deverão ser
    inicializadas no momento da construção das motocicletas e dos carros.
  4. A classe Pessoa deverá ser escrita de tal forma que objetos dessa classe não possam ter seu
    atributo “nome” acessados diretamente, nem para escrita, nem para leitura, no entanto, pode ser
    diretamente acessado em classes que extendam a classe Pessoa.
  5. Mecanico deverá ter um método “conserta” que recebe um veículo de qualquer tipo e
    verifica se o veículo está quebrado ou não. Caso não esteja quebrado, esse método deverá
    imprimir “Veículo sem problemas – verificado por Carlos” (onde Carlos é o nome do Mecanico),
    caso contrário deverá atribuir True (verdadeiro) ao atributo “funcionado” do veículo e deverá
    imprimir na sequência “Veículo consertado por Carlos”.
  6. No código principal (main), crie um objeto de Motocicleta, um objeto da classe Carro, um
    objeto de Pessoa e um objeto de Mecanico. Faça o mecanico consertar a motocicleta e na sequência
    consertar o carro

Estou com dúvidas no item 4, 6 e 7 segue o que já fiz, não consigo validar no item 4 aquela numeração:

Fiz as seguintes classes:

public class pessoa {

protected String nome;

}

public class veiculo {

String registro;

boolean funcionando;
public veiculo(String registro, boolean funcionando) {
    this.registro = registro;
    this.funcionando = funcionando;
}

}

public class motocicleta extends veiculo {

public motocicleta(String registro, boolean funcionando) {
    super(registro, funcionando);
}

}

public class mecanico extends pessoa {

String especialidade;

public mecanico(String especialidade) {
    this.especialidade = especialidade;
    this.nome = "Carlos";

}

public void conserta(veiculo vec) {
    if (vec.funcionando = false) {
        System.out.println("Veiculo sem problemas - Verificado por" + this.nome);
    } else if (vec.funcionando = true) {
        System.out.println("Veiculo consertado por" + this.nome);
    }
}

}

package recuperacaoprova;

/**
*

  • @author rafael.191188
    */
    public class carro extends veiculo {

    public carro(String registro, boolean funcionando) {
    
    super(registro, funcionando);
    
    }
    

}

Criado 21 de novembro de 2017
Respostas 0
Participantes 1