Baixe o app para aproveitar ainda mais
Prévia do material em texto
24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 1/11 Atividade Objetiva 2 Entrega 16 abr em 23:59 Pontos 1 Perguntas 5 Disponível 10 fev em 0:00 - 16 abr em 23:59 2 meses Limite de tempo Nenhum Tentativas permitidas 2 Instruções Histórico de tentativas Tentativa Tempo Pontuação MANTIDO Tentativa 2 2 minutos 0,8 de 1 MAIS RECENTE Tentativa 2 2 minutos 0,8 de 1 Tentativa 1 612 minutos 0,6 de 1 Pontuação desta tentativa: 0,8 de 1 Enviado 24 fev em 18:53 Esta tentativa levou 2 minutos. Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. 0,2 / 0,2 ptsPergunta 1 https://famonline.instructure.com/courses/12596/quizzes/42431/history?version=2 https://famonline.instructure.com/courses/12596/quizzes/42431/history?version=2 https://famonline.instructure.com/courses/12596/quizzes/42431/history?version=1 24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 2/11 Considere a classe em Java a seguir: class Pessoa { public String nome; public int idade; public String cpf; public Pessoa(String n) { this.nome = n; } public Pessoa(String n, int i){ this.n = nome; this.i = idade; } } Considerando a classe acima, analise as afirmações a seguir: I. Contém dois métodos com o mesmo nome, o que dará erro. 24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 3/11 II. Contém dois métodos sem tipo de retorno, o que dará erro. III. Não impede que seus atributos sejam modificados externamente. Estão corretas as afirmações: III, apenas. Correto!Correto! Alternativa correta. O método construtor não possui tipo de retorno. Ele é um método que possui o mesmo nome que a classe. Podemos ter vários construtores, todos com o mesmo nome, variando apenas os parâmetros. O programa irá decidir qual deles utilizar com base nos parâmetros que foram passados em cada chamada. Os atributos da classe estão todos marcados como “public”, sendo, portanto, acessíveis em qualquer ponto do programa. I e II, apenas. II e III, apenas. I, apenas. II, apenas. 24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 4/11 0,2 / 0,2 ptsPergunta 2 Leia o texto a seguir: A maioria das declarações de variável de instância é precedida pela palavra-chave private. Da mesma forma que public, private é um modificador de acesso. As variáveis ou métodos declarados com o modificador de acesso private só são acessíveis a métodos da classe em que isso ocorre. Assim, a variável name só pode ser empregada nos métodos de cada objeto Account (nesse caso, setName e getName). Você verá mais adiante que isso apresenta oportunidades poderosas de engenharia de software. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017. p. 58 Considerando o padrão para garantir o encapsulamento das classes, avalie as afirmações a seguir: I. O método get recebe um atributo como parâmetro. II. O método set retorna um atributo. III. Métodos get e set podem ser públicos. 24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 5/11 IV. Devemos criar get e set para todos os atributos. É correto o que se afirma em: III, apenas. Correto!Correto! Alternativa correta. O método get serve para leitura do atributo, portanto ele retorna o atributo. O método set serve para escrita do atributo, portanto ele recebe um novo valor para o atributo como parâmetro. Os métodos podem ser públicos, pois a ideia é justamente fornecer acesso – de forma controlada – a atributos privados. Não é necessário criar get e set para todos os atributos: certos atributos podem servir apenas para uso interno da classe, e não precisam ou não devem ser consultados e muito menos modificados por qualquer entidade senão o próprio objeto. Nestes casos, não faria sentido criar um get e/ou um set para esses atributos. III e IV, apenas. I e II, apenas. I, II e III, apenas. I, II e IV, apenas. 0,2 / 0,2 ptsPergunta 3 24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 6/11 Leia o texto a seguir: Usando os métodos set e get, você pode validar tentativas de modificações nos dados private e controlar como os dados são apresentados para o chamador — esses são benefícios convincentes da engenharia de software. (...) Se a variável de instância fosse public, qualquer cliente da classe — isto é, qualquer outra classe que chama os métodos de classe — poderia ver os dados e fazer o que quisesse com eles, inclusive configurá-los como um valor inválido. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017. p. 63. Considerando o que você estudou sobre abstração, analise as afirmações abaixo: I. Atributos representam o estado de um objeto, por um armazenar informações particulares sobre o outro. II. Métodos representam habilidades de um objeto, por conterem instruções que serão executadas utilizando o estado do objeto. III. Atributos devem ser públicos, caso contrário o estado de um objeto seria constante. IV. Métodos devem ser privados, caso contrário entidades externas poderão interferir no funcionamento do objeto. 24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 7/11 São corretas as afirmações: I, II e III, apenas. I e II, apenas. Correto!Correto! Alternativa correta. Atributos são variáveis internas do objeto e métodos são funções internas. Atributos e métodos não são necessariamente públicos ou privados. Há convenções recomendando que atributos sejam privados e métodos sejam públicos, o oposto do que foi dito nas afirmações III e IV. Ao restringir o acesso aos atributos, evitamos a passagem de valores inválidos para os atributos e o surgimento de estados inconsistentes para os objetos. Porém, para que o estado não seja constante, basta permitir que os atributos sejam alterados através de métodos – estes sim devem ser públicos, para permitir a troca de mensagens entre objetos -, sendo que eles podem fazer verificações de segurança e rejeitar valores inválidos para os atributos. I, III e IV, apenas. III e IV, apenas. I, II e IV, apenas. 0,2 / 0,2 ptsPergunta 4 24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 8/11 Leia o trecho a seguir: Todo o código deve estar em alguma classe, pois quando executamos algum aplicativo java nós estamos, na verdade, executando uma classe. Disponível em: https://www.devmedia.com.br/entendendo-a-estrutura-de-um-codigo-java/24622 (https://www.devmedia.com.br/entendendo-a-estrutura-de-um-codigo-java/24622) . Acesso em: 05 de novembro de 2020. Examinando a linha de código em Java Aluno al = new Aluno();, define-se al como... um objeto da classe Aluno. Correto!Correto! Alternativa correta. Quando utilizamos “new”, estamos criando um novo objeto da classe cujo construtor estamos chamando em seguida. Como chamamos “Aluno()” à frente do “new”, estamos chamando o construtor da classe Aluno, o que irá retornar um objeto dessa classe, que foi armazenado em “al”. A classe é o “molde abstrato”, e o objeto é uma instância real da classe. Atributos e métodos são, respectivamente, variáveis e métodos internos desse objeto, definidos pelaclasse. um atributo do objeto Aluno. um método do objeto Aluno. https://www.devmedia.com.br/entendendo-a-estrutura-de-um-codigo-java/24622 24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 9/11 um método da classe Aluno. um atributo da classe Aluno. 0 / 0,2 ptsPergunta 5 Leia o texto a seguir: Os membros public de uma classe são acessíveis onde quer que o programa tenha uma referência a um objeto dessa classe ou a uma de suas subclasses. Os membros private de uma classe só são acessíveis dentro da própria classe. Nesta seção, introduziremos o modificador de acesso protected. Utilizar acesso protected oferece um nível intermediário de acesso entre public e private. Os membros protected de uma superclasse podem ser acessados por membros dessa superclasse, de suas subclasses e de outras classes no mesmo pacote. Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2017. p. 286. Considerando as informações apresentadas, assinale a opção correta: O uso de protected deve ser feito com cautela, pois permite a violação do encapsulamento da classe. Resposta corretaResposta correta 24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 10/11 Atributos podem ser private quando desejamos ocultá-los ou protected para compartilhar na herança, mas métodos são necessariamente public. Você respondeuVocê respondeu Alternativa incorreta. Um membro public será visível externamente, e um membro private não será visível externamente em qualquer circunstância, mesmo em caso de herança. O uso de protected libera o acesso no caso de herança ou de compartilhamento de um mesmo pacote. Tanto atributos quanto métodos podem utilizar qualquer um dos modificadores, mas o convencional é que atributos sejam private e métodos sejam public. O protected deve ser utilizado com cautela, pois ao permitir que outras classes possam acessar o conteúdo de uma classe específica ele permite um furo em seu encapsulamento. O uso de private e protected é intercambiável, pois subclasses já tem acesso aos membros da superclasse através da herança. O uso de protected é necessário, pois não há outro meio de uma subclasse acessar seus próprios atributos private herdados. O uso de public e protected é intercambiável, pois subclasses já têm acesso aos membros da superclasse através da herança. 24/02/2021 Atividade Objetiva 2: Programação Orientada a Objetos https://famonline.instructure.com/courses/12596/quizzes/42431 11/11 Pontuação do teste: 0,8 de 1
Compartilhar