Buscar

POO Apol3

Prévia do material em texto

Questão 1/5 - Programação Orientada a Objetos
Dado o seguinte código incompleto:
public class AgendaContato {
    private List<Contato> contatos;
    public AgendaContato() {
       contatos = new ArrayList<Contato>();
    }
}
public class Contato {
   private String nome;
}
Marque a alternativa correta considerando:
I) Qual classe é responsável por adicionar um (novo) contato na agenda?
II) Qual a implementação correta para o método adicionar contato?
Nota: 20.0
	
	A
	I: AgendaContato
II:
public void adicionar(String nome) {
    Contato novoContato = new Contato();
    novoContato.setNome(nome);
    contatos.add(novoContato);
}
Você acertou!
	
	B
	I: AgendaContato
II:
public void adicionar() {
    Contato novoContato = new Contato();
    novoContato.setNome(nome);
    contatos.add(novoContato);
}
	
	C
	I: Contato
II:
public void adicionar(String nome) {
    contatos.add(nome);
}
	
	D
	I: Contato
II:
public void adicionar(String nome) {
    Contato novoContato = new Contato();
    contatos.add(novoContato);
}
Questão 2/5 - Programação Orientada a Objetos
Dado o seguinte cenário: além de nome e idade, uma pessoa pode ter um (e somente um) número de telefone com DDD.
Considerando a possibilidade de associação entre classes, boas práticas de programação orientada a objetos  e uma definição mínima de classe (apenas atributos), marque a seguir a alternativa correta para o código que melhor implementa o cenário descrito anteriormente.
Nota: 20.0
	
	A
	public class PessoaTelefone {
private String nomePessoa;
private String idadePessoa;
private String numeroTelefone;
private String dddTelefone;
// métodos get e set para os atributos
// definidos anteriormente
}
	
	B
	public class PessoaTelefone {
private String nomePessoa;
private Integer idadePessoa;
private Integer numeroTelefone;
private Integer dddTelefone;
// métodos get e set para os atributos
// definidos anteriormente
}
	
	C
	public class Pessoa {
private String nome;
private Integer idade;
// métodos get e set para os atributos
// definidos anteriormente
}
public class Telefone {
private Integer numero;
private Integer ddd;
// métodos get e set para os atributos
// definidos anteriormente
}
	
	D
	public class Pessoa {
private String nome;
private Integer idade;
private Telefone telefone;
// métodos get e set para os atributos
// definidos anteriormente
}
public class Telefone {
private Integer numero;
private Integer ddd;
// métodos get e set para os atributos
// definidos anteriormente
}
Você acertou!
Questão 3/5 - Programação Orientada a Objetos
Dado o seguinte cenário: uma consulta médico envolve o médico, o paciente, data e hora do agendamento. Um médico tem nome e CRM. Um paciente tem um código e um nome.
Considerando a possibilidade de associação entre classes, boas práticas de programação orientada a objetos  e uma definição mínima de classe (apenas atributos), marque a seguir a alternativa correta para o código que melhor implementa o cenário descrito anteriormente.
Nota: 20.0
	
	A
	
public class AgendaMedicoPaciente {
private String dataAgendamento;
private String nomeMedico;
private String crmMedico;
private String codigoPaciente;
private String nomePaciente;
// métodos get e sets dos atributos
// definidos anteriormente
}
	
	B
	
public class AgendaMedicoPaciente {
private Date dataAgendamento;
private String nomeMedico;
private String crmMedico;
private Integer codigoPaciente;
private String nomePaciente;
// métodos get e sets dos atributos
// definidos anteriormente
}
	
	C
	public class Medico {
private String nomeMedico;
private String crmMedico;
// métodos get e sets dos atributos
// definidos anteriormente
}
public class Paciente {
private Integer codigo;
private String nome;
private Medico medico;
// métodos get e sets dos atributos
// definidos anteriormente
}
public class Agenda {
private Date dataAgendamento;
// métodos get e sets dos atributos
// definidos anteriormente
}
	
	D
	public class Medico {
private String nomeMedico;
private String crmMedico;
// métodos get e sets dos atributos
// definidos anteriormente
}
public class Paciente {
private Integer codigo;
private String nome;
// métodos get e sets dos atributos
// definidos anteriormente
}
public class Agenda {
private Paciente paciente;
private Medico medico;
private Date dataAgendamento;
// métodos get e sets dos atributos
// definidos anteriormente
}
Você acertou!
Questão 4/5 - Programação Orientada a Objetos
Na POO podemos modificar a visibilidade de classes, métodos e atributos.
Para que a classe abaixo seja visível para todas as outras classe da aplicação que ela faz parte, qual o modificador que deve ser colocado em ( I ):
( I ) class Pessoa {
            private String nome;
 
            public Pessoa() {
                        nome = “Nome não definido”;
            }
}
Nota: 20.0
	
	A
	private
	
	B
	abstract
	
	C
	static void
	
	D
	public
Você acertou!
Resposta no slide 5 da aula 3.
	
	E
	protected
Questão 5/5 - Programação Orientada a Objetos
Na programação orientada a objetos temos a definição de alguns paradigmas, entre eles um que define que os atributos devem ser sempre declarados como privados e o acesso aos mesmos deve ser feito através de métodos públicos.
Essa é a definição de qual paradigma?
Nota: 20.0
	
	A
	polimorfismo
	
	B
	herança
	
	C
	agregação
	
	D
	abstração
	
	E
	encapsulamento
Você acertou!
O paradigma do encapsulamento, como vimos no slide 5 da aula 4, prevê que os atributos da classe sejam sempre privados.

Continue navegando