Baixe o app para aproveitar ainda mais
Prévia do material em texto
23/03/2023, 16:02 Avaliação II - Individual about:blank 1/7 Prova Impressa GABARITO | Avaliação II - Individual (Cod.:768337) Peso da Avaliação 1,50 Prova 57995112 Qtd. de Questões 10 Acertos/Erros 7/2 Canceladas 1 Nota 8,00 O conceito de classes abstrata, através de suas características especiais, fornece ao conceito de herança uma maior confiabilidade uma vez que as classes modeladas com herança precisam ser melhor idealizadas e projetadas. Dessa forma, avalie o código-fonte da classe Atleta, a seguir, e classifique V para as sentenças verdadeiras e F para as falsas: package fontes; public class Atleta{ private int pais; private String modalidade; private boolean medalistaOlimpico; public abstract void competir(String modalidade) { System.out.println("É especialista em " + modalidade); } public void competirPor(int pais){ System.out.println("O atleta compete por " + pais); } } ( ) A classe em questão não apresenta problemas de sintaxe. ( ) O método competirPor(int pais) está gerando erro de sintaxe e usa incorretamente a palavra- chave void. ( ) O método competirPor(int pais) possui um retorno de tipo definido. ( ) O método "competir(String modalidade)" não gera erro de sintaxe e usa a palavra-chave abstract corretamente. Assinale a alternativa que apresenta a sequência CORRETA: A V - V - V - V. B F - F - V - V. C V - F - V - V. D F - F - F - F. A sobrecarga de métodos, considerada um tipo de polimorfismo, é um mecanismo que permite que dois ou mais métodos compartilhem o mesmo nome, contanto que tenham diferentes conjuntos VOLTAR A+ Alterar modo de visualização 1 2 23/03/2023, 16:02 Avaliação II - Individual about:blank 2/7 de parâmetros. Dessa forma, com o código-fonte apresentado, referente à classe Bicicleta e a sintaxe aplicada ao polimorfismo de sobrecarga para os dois métodos construtores da referida classe, assinale a alternativa CORRETA: public class Bicicleta{ private char tamanhoQuadro; private int numeroMarchas; private char tamanhoRoda; public void movimentar(){ System.out.println("O objeto bike está em movimento!!"); } } A public Bicicleta(){ } public Bicicleta(char tamanhoQuadro){ this.tamanhoQuadro = tamanhoQuadro; } B public Bicicleta(){ } public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = numeroMarchas; this.numeroMarchas = tamanhoQuadro; this.tamanhoRoda = tamanhoRoda; } C public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; this.tamanhoRoda = tamanhoRoda; } public Bicicleta(){ this.tamanhoRoda = tamanhoRoda;; } D public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ this.tamanhoQuadro = tamanhoQuadro; this.numeroMarchas = numeroMarchas; } public Bicicleta(char numeroMarchas){ this. numeroMarchas = numeroMarchas; } Uma das principais vantagens em se desenvolver um software utilizando o paradigma da orientação a objetos, é a reutilização de código-fonte, tornando-o mais legível e fácil de realizar manutenção. Neste sentido, podemos exemplificar a facilidade de manutenção com a necessidade de criar uma coluna em uma tabela, gravando um valor fixo. Neste caso, basta alterar o método que realiza a inserção de registro nesta tabela, e o software está alterado, mesmo que o método seja invocado por mais de uma classe. Analise o código-fonte a seguir e classifique V para as sentenças verdadeiras e F para as falsas: ( ) Devido à herança, a linha 31 está correta. ( ) A classe "Carro" herda o método "getNomeModelo()" da classe "Veiculo". ( ) A classe "Veiculo" herda os métodos com modificador "public" da classe "Carro". ( ) Ocorre uma relação de herança entre as duas classes, sendo que a classe "Carro" herda atributos e métodos da classe "Veiculo". 3 23/03/2023, 16:02 Avaliação II - Individual about:blank 3/7 Assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - V. B F - V - F - F. C V - F - F - V. D V - V - V - F. A coesão é a característica que faz com que uma classe tenha somente uma responsabilidade dentro do sistema, o que faz com que a sua correção, em caso de erros ou a manutenção em caso de evolução, seja simplificada. No que se refere à coesão de uma classe, assinale a alternativa CORRETA: A Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso private. B A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma classe. C Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção diminui. D Uma classe coesa é, necessariamente, uma classe com alto acoplamento. Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década de 90 por uma equipe de programadores. Observe a figura anexa que ilustra uma situação típica em que podemos aplicar o conceito de herança de classes em Java. Considerando os conceitos de 4 5 23/03/2023, 16:02 Avaliação II - Individual about:blank 4/7 programação orientada a objetos, analise as sentenças a seguir: I- A classe FormaGeometrica, indicada pela letra A, é considerada a subclasse das classes contidas na área indicada pela letra B. II- Quadrado é uma classe filha da classe FormaGeometrica. III- A classe Triangulo implementa a interface FormaGeometrica. Agora, assinale a alternativa CORRETA: A Somente a sentença I está correta. B As sentenças II e III estão corretas. C Somente a sentença II está correta. D As sentenças I e II estão corretas. Diz-se que no paradigma da orientação a objetos, os objetos podem criar relações entre si, e duas maneiras de se estabelecer uma relação entre objetos são através da associação e da herança que devem ser utilizados na solução de problemas diferentes. Dessa forma, sobre esses relacionamentos, assinale a alternativa CORRETA: A Um relacionamento que responde de maneira positiva à pergunta "é um tipo de" representa uma associação ou uma herança. B Nos relacionamentos de associação, o conceito de subclasse é utilizado de maneira diferente do que nos relacionamentos de herança. C Uma associação não permite o compartilhamento de métodos e de atributos entre classes. 6 23/03/2023, 16:02 Avaliação II - Individual about:blank 5/7 D Os dois tipos de relacionamento são implementados na linguagem de programação Java através de palavras reservadas. O paradigma da orientação a objetos aplicada no desenvolvimento de software possui a vantagem de tornar o código-fonte reutilizável, mais legível, e fácil de realizar manutenção. O polimorfismo permite que outras classes representem o comportamento de classes que elas referenciam. Com relação às classes criadas no código-fonte, classifique V para as sentenças verdadeiras e F para as falsas: (1)public class Veiculo { (2) public void parar(){} (3)} (4) (5)public class Motocicleta extends Veiculo{ (6) public void parar(){ (7) System.out.println("Parando a motocicleta!!"); (8) } (9)} (10) (11)//Veiculo utilitario esporte (SUV: Sport Utility Vehicle) (12)public class Suv extends Veiculo{ (13) public void parar(){ (14) System.out.println("Parando o veículo utilitário!!"); (15) } (16)} (17) (18)public class Principal { (19) public static void main(String[] args){ (20) Veiculo veiculo1 = new Motocicleta(); (21) Veiculo veiculo2 = new Suv(); (22) (23) veiculo1.parar(); (24) veiculo2.parar(); (25) } (26)} ( ) Não existe o polimorfismo implementado entre as classes do exemplo, uma vez que a classe Veiculo não é uma classe abstrata. ( ) Ao executarmos a classe Principal, ocorrerá um erro designando que a instância da classe Veiculo nas linhas 20 e 21 são inválidas, pois recebem a instância de classes de outro tipo (Motocicleta e Suv). ( ) Existe o polimorfismo implementadoentre as classes do exemplo, mesmo a classe Veiculo sendo uma classe concreta. ( ) A classe Veiculo referencia o comportamento das classes Motocicleta e Suv, e ao executarmos a classe Principal, será impresso primeiramente a mensagem (Parando a motocicleta!!) e depois (Parando o veículo utilitário!!). Assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - F. B F - F - V - V. C V - F - F - V. 7 23/03/2023, 16:02 Avaliação II - Individual about:blank 6/7 D F - V - V - F. Em Orientação a Objetos, para que uma subclasse de uma classe possa ter seu próprio comportamento, e mesmo assim compartilhar algumas das funcionalidades da classe pai, deve-se implementar um método. Qual é esse método? A Abstração. B Agregação. C Composição. D Polimorfismo. Na linguagem de programação Java, existem os modificadores de acesso que fornecem visibilidade ou invisibilidade para classes, métodos ou atributos. Através destes modificadores de acesso, pode-se tornar um atributo acessível para outra classe, por exemplo, ou ainda torná-lo visível apenas dentro da própria classe. Analise o código-fonte, escrito em linguagem de programação Java, a seguir e classifique V para as sentenças verdadeiras e F para as falsas: ( ) A classe "Carro" é visível em todas as demais classes da aplicação. ( ) Os atributos "codigo" e "modelo" são visíveis por todas as classes que delegarem a classe "Carro". ( ) O atributo "valor" é acessível apenas na subclasse do relacionamento de herança, se houver. ( ) O atributo "qtdePortas" é visível por todas as classes que delegarem a classe "Carro". Assinale a alternativa que apresenta a sequência CORRETA: A F - V - F - F. B V - F - V - V. C V - F - F - V. D V - V - V - F. 8 9 23/03/2023, 16:02 Avaliação II - Individual about:blank 7/7 Atenção: Esta questão foi cancelada, porém a pontuação foi considerada. Na linguagem de programação Java, uma boa prática de desenvolvimento de software é programar orientado a objetos, embora a linguagem permita a programação procedural. No paradigma da orientação a objetos, encapsulamento pode ser descrito como ocultar atributos, métodos ou classes. Isto é realizado através de alguns modificadores de visibilidade, os quais são implementados. Com relação a estes modificadores de visibilidade, assinale a alternativa CORRETA: A O modificador private fornece acesso a todas as classes da aplicação. B O modificador default fornece visibilidade dentro da própria classe. C O modificador public para uma classe fornece visibilidade desta classe em todas as demais classes da aplicação. D O motificador protected fornece visibilidade para todas as classes dentro do mesmo pacote. 10 Imprimir
Compartilhar