Prévia do material em texto
Existem quatro plataformas para a programação em Java: Java Platform Standard Edition (Java SE), Java Platform Enterprise Edition (Java EE), Java Platform Mobile Edition (Java ME) e Java FX. Cada plataforma é destinada a um tipo diferente de aplicação e possui o seu conjunto de APIs. Com relação à plataforma Java EE, analise as afirmativas a seguir: I- É construída com base na Java Platform Standard Edition. II- Plataforma focada no desenvolvimento de aplicações desktop. III- Permite a criação de RIA (Rich Internet Applications) usando interfaces aceleradas por hardware. IV- Provê ambiente e API (Application Program Interface) específicos para o desenvolvimento em larga escala. Agora, assinale a alternativa CORRETA: A As afirmativas II, III e IV estão corretas. B As afirmativas II e III estão corretas. C As afirmativas I e IV estão corretas. D Somente a afirmativa I está correta. A linguagem de programação Java implementa o encapsulamento através de modificadores de visibilidade que podem ser colocados na frente de classes, atributos e métodos. Com relação à utilização do encapsulamento na linguagem de programação Java, assinale a alternativa CORRETA: A O modificador public não pode ser usado na frente de atributos. B O modificador private permite o acesso somente dentro do mesmo pacote. C Um método com o modificador public não faz sentido em uma classe com o modificador default. D O modificador default permite o acesso padrão a todos dentro da mesma aplicação. No paradigma da orientação a objetos, um objeto é a instância de uma classe, isto é, cria-se em memória um objeto do tipo da classe desejada. Neste sentido, quando instancia-se uma classe, estamos criando em memória toda a classe, ou seja, todos os seus atributos e métodos. No entanto, em alguns casos, precisamos utilizar apenas algum método ou atributo de uma determinada classe, e instanciá-la em memória seria uso desnecessário da memória. Neste caso, podemos definir o modificador do método como static, permitindo que este seja acessado diretamente pelo nome da classe, sem instanciá-la. Referente ao código-fonte anexo, analise as afirmativas a seguir: I- Ao executar a classe "Exemplo", ocorrerá um erro durante a execução, pois não foi instanciada a classe "Carro". II- Os métodos"getidModelo()" e "calcularDistancia()" são acessíveis na classe "Exemplo" sem ter que instanciar a classe Carro. III- O método "calcularDistancia()" é acessível na classe "Exemplo" sem ter que instanciar a classe Carro. IV- O método "getidModelo ()" é acessível na classe "Exemplo" sem ter que instanciar a classe Carro. Assinale a alternativa CORRETA: 1 2 3 A As afirmativas II e IV estão corretas. B As afirmativas I e IV estão corretas. C Somente a afirmativa III está correta. D As afirmativas I e III estão corretas. Uma classe abstrai as características e os comportamentos em comum de um conjunto de objetos. Seus métodos definem quais os comportamentos possíveis dos objetos, enquanto os estados possíveis para determinado objeto são definidos pelos atributos. Considerando a declaração de atributos, feita de maneira similiar à declaração de uma variável no Java, analise as sentenças a seguir: I- "salario", "dataDeNascimento" e "super" são exemplos de nomes válidos para atributos. II- A linguagem Java é fortemente tipada, ou seja, toda declaração deve incluir o seu tipo. III- Além dos tipos primitivos, um atributo pode ser do tipo referência. IV- Atributos que não podem ser modificados são do tipo primitivo "void". Agora, assinale a alternativa CORRETA: A Somente a sentença I está correta. B As sentenças II e III estão corretas. C As sentenças I e IV estão corretas. D As sentenças II, III e IV estão corretas. Os modificadores de acesso possuem o objetivo de tornar classes, métodos ou atributos visíveis ou invisíveis, facilitando o seu encapsulamento. Com estes modificadores, podemos, por exemplo, liberar o acesso de um atributo de uma classe X por uma classe Y. Analise o código-fonte a seguir e classifique V para as sentenças verdadeiras e F para as falsas: ( ) O método "getCodigo()"da classe "Carro" é visível em todas as classes do pacote. ( ) O método "getCodigo()"da classe "Carro" é visível somente na subclasse de um relacionamento de herança. ( ) O método "getValor()"da classe "Carro" é visível somente na subclasse de um relacionamento de herança. ( ) O método "getModelo()"da classe "Carro" é visível somente dentro da própria classe "Carro". Assinale a alternativa que apresenta a sequência CORRETA: A F - V - F - F. B V - V - V - F. C F - F - V - V. D V - V - F - F. 4 5 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. Na linguagem Java, existe um recurso muito importante e vantajoso para o desenvolvimento de software: coleções. As coleções são parecidas com os vetores ou arrays, porém elas permitem o armazenamento de objetos. Neste sentido, com um arraylist, podemos criar uma lista de objetos, sendo a sintaxe: ArrayList<Object>. Analise o código-fonte a seguir e assinale a alternativa CORRETA: A Ao final da execução da classe "ExemploArrayList", a lista "listaCarros" terá dois objetos armazenados. B Ao final da execução da classe "ExemploArrayList", a lista "listaCarros" não terá nenhum elemento. C Ao final da execução da classe "ExemploArrayList", a lista "listaCarros" terá apenas um objeto armazenado. D A condição da linha 33 é verdadeira, e será atribuído mais um objeto à lista. Ao utilzarmos o modificador "static", indicamos que determinado atributo ou método de uma classe Java pertence à classe e não a uma instância específica. Com relação a esse modificador, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Um atributo com visibilidade estática não pode ser alterado com um método não estático. ( ) O Singleton é um padrão de projeto que prevê uma instância estática. ( ) Ao alterarmos o valor de um atributo estático, todas as instâncias da classe terão o seu valor alterado. ( ) Atributos estáticos inicializados no método construtor não podem ser alterados ao longo da execução. Agora, assinale a alternativa que apresenta a sequência CORRETA: A F - V - F - V. B F - F - V - V. C V - V - V - F. 6 7 8 D V - F - F - V. No paradigma de orientação a objetos, uma classe é uma estrutura que abstrai um conjunto de objetos que possuem características em comum, e é composta, geralmente, por três elementos básicos: nome, atributos e métodos. Com relação ao nome, assinale a alternativa CORRETA: A Também conhecido como definição, o nome descreve as funcionalidades de uma determinada classe. B O nome define o local de um determinado objeto, enquanto ele está na memória do computador. C O nome indica quais serão os tipos de dados utilizados pela classe em questão. D Por recomendação, todo nome de uma classe deve começar com letra maiúscula. No desenvolvimento de software orientado a objetos, muitos padrões surgiram da solução para problemas que normalmente ocorriam, sendo um destes padrões de desenvolvimento o Singleton. O padrão Singleton caracteriza-se pela única instância de uma classe durante a execução de um sistema, pois em alguns casos esta característica é necessária para resolver determinados problemas. Partindo desse pressuposto, classifique V para as sentenças verdadeiras e F para falsas: ( ) Uma classe implementadacom o padrão Singleton não possui o modificador estático (static). ( ) Uma classe implementada com o padrão Singleton sempre utiliza o modificador estático (static). ( ) Uma classe implementada com o padrão Singleton deve ter declarado um atributo private do próprio tipo da classe. ( ) Uma classe implementada com o padrão Singleton deve validar se já está instanciada, e caso negativo, utiliza o comando "new" para instanciar a classe. Assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - F. B F - V - V - F. C F - V - V - V. D V - F - V - F. 9 10