Lista completa de Questões de Ciência da Computação do ano 2012 para resolução totalmente grátis. Selecione os assuntos no filtro de questões e comece a resolver exercícios.
Na orientação a objetos
a herança permite que os membros de uma classe, chamada de classe-pai, possam ser reaproveitados na definição de outra classe, chamada de classe-filha. Esta classe-filha tem acesso aos membros públicos e protegidos da classe-pai. O polimorfismo, associado à herança, permite que métodos abstratos definidos em uma classe abstrata sejam implementados nas classes-filhas, podendo estes métodos, nas classes-filhas, apresentar comportamentos distintos.
atributos e métodos podem ser reaproveitados através da herança, quando uma subclasse herda as características de uma superclasse. Uma subclasse pode ter acesso aos membros de uma superclasse, independente do modificador atribuído. O polimorfismo é um recurso que permite a uma subclasse reimplementar os métodos herdados de uma superclasse, sendo este método abstrato ou não.
a herança e o polimorfismo são complementares, ou seja, devem ser aplicados em conjunto. A herança existe a partir de classes abstratas que contêm atributos e métodos abstratos. O polimorfismo obriga que as classes-filhas implementem os métodos e atributos desta classe-pai. O acesso aos atributos da classe-pai independe do modificador utilizado.
o conceito de herança estabelece que uma classe possa aproveitar a implementação, definições dos atributos e métodos de uma classe-base. A classe-filha pode ter acesso aos métodos e atributos públicos e protegidos da classe-base. O polimorfismo é aplicado ao caso em que existe a necessidade de implementar métodos sobrecarregados, nos quais a classe-filha necessita implementar dois métodos com o mesmo nome e parâmetros diferentes.
o polimorfismo é uma técnica que permite um objeto nascer a partir do uso de sobrecarga de construtores de uma classe, ou seja, o polimorfismo permite que um objeto possa ser instanciado de diferentes maneiras. A herança permite que uma classe sirva de base para que outras classes sejam implementadas. Entretanto, os membros com modificadores públicos da classe-base podem ser acessados pela classe-filha.
0 0 1 0 0 1 0 0 1
0 1 2 0 1 2 0 1 2
0 1 0 1 0 1 0 1 0
1 2 1 2 1 2 1 2 1
0 2 1 0 2 1 0 2 1
100 70 30 20 4
50 35 15 10 2
4 20 30 70 100
2 10 15 35 50
10 50 2 15 35
Ciência da Computação - Programação Orientada a Objetos - Centro de Seleção e de Promoção de Eventos UnB (CESPE) - 2012
Em programação orientada a objetos, a possibilidade de haver funções de mesmo nome, com funcionalidades similares em classes sem nenhuma relação entre elas, denomina-se
encapsulamento.
objeto.
classe.
polimorfismo.
relacionamento hierárquico.
Ciência da Computação - Programação Orientada a Objetos - Centro de Seleção e de Promoção de Eventos UnB (CESPE) - 2012
Assinale a opção correta quanto à abordagem conceitual de abstração sob o paradigma de programação orientada a objetos.
As abstrações, idealmente, caracterizam-se por não serem grandes demais em comparação aos módulos, pois senão elas se tornam multifuncionais e de difícil compreensão. Como consequência, a abstração deve ser implementada apenas no nível de estruturas de dados necessários para se atingir o objetivo pretendido.
Abstração consiste em uma linguagem puramente lógica. A motivação para isso veio em parte da vontade de se reconciliar o uso da lógica como uma linguagem declarativa de representação do conhecimento com a representação procedimental do conhecimento.
Abstração é uma linguagem declarativa que permite acesso à base de dados mediante a utilização da teoria dos conjuntos e da álgebra relacional como fundamento de seu funcionamento.
Abstração é um conceito segundo o qual o sistema ou software é dividido em partes distintas. Compõe o ferramental necessário para um programa mais legível com uma melhor manutenção e melhor desempenho por meio da programação orientada a objetos.
Abstração é a habilidade de se concentrar nos aspectos essenciais de um contexto qualquer, ignorando características menos importantes ou acidentais. Em modelagem orientada a objetos, uma classe é uma abstração de entidades existentes no domínio do sistema de software.
Com relação a herança na programação orientada a objetos com Java, é INCORRETO afirmar:
Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos.
Quando se instancia um objeto da subclasse, podem ser passados valores para os atributos da superclasse.
Um objeto da subclasse pode ser um objeto da superclasse.
Em uma superclasse, para acessar métodos da subclasse deve ser usada a instrução super.
Para definir que a subclasse herda as características da superclasse utiliza-se a instrução extends na declaração da subclasse.
Sobre conceitos em programação orientada a objetos (OOP), analise:
I. No polimorfismo ad-hoc, métodos com o mesmo nome e pertencentes à mesma classe, podem receber argumentos distintos, consequentemente alterando a assinatura do método.
II. No polimorfismo paramétrico é possível determinar o método como atributos de objetos são acessados por outros objetos, protegendo o acesso direto aos mesmos através de operações.
III. Na restrição de multiplicidade é possível determinar o número de atributos e operações que uma classe pode herdar de uma superclasse.
Está correto o que consta em
I, II e III.
I, apenas.
III, apenas.
II e III, apenas.
I e II, apenas.
Na orientação a objetos, em uma relação de herança entre classes, a subclasse herda da superclasse
apenas as variáveis públicas de instância.
apenas os métodos e variáveis de instância públicos.
todas as variáveis de instância e apenas os métodos estáticos.
todas as variáveis e métodos, exceto os públicos e os que foram sobrescritos.
todas as variáveis de instância e os métodos, entretanto, podem explicitamente sobrescrever alguns destes componentes.
Considere que a classe Pessoa possui 3 métodos que podem ser aplicados aos seus objetos: cadastrar, alterar e excluir. Considere que Aluno e Professor são classes derivadas da classe Pessoa e, por isso, herdam os métodos cadastrar, alterar e excluir, mas estes métodos são sobrescritos na classe Aluno e Professor com implementações bastante distintas, em função dos dados associados a cada um deles.
O exemplo ilustra o conceito dehereditariedade.
polimorfismo.
encapsulamento.
abstração.
reusabilidade.
O processo de desenvolvimento orientado a testes, de uma forma geral, é baseado em 3 passos. Estes 3 passos são repetidos até que não se consiga pensar em novos testes, o que indicaria, então, que a funcionalidade está pronta. Um destes passos e o que nele deve ser feito está expresso corretamente em:
Refatore é o passo 3. Uma vez que o teste tenha passado, deve-se verificar o que pode ser melhorado no código e remover as duplicações. Essas melhorias no código, no entanto, devem permitir que os testes continuem passando.
Escreva um teste que falhe é o passo 2. Neste passo definem-se quais são as verificações que precisam ser feitas. Deve-se pensar primeiro no teste e só depois que este estiver pronto cria-se o código necessário para que ele compile e falhe ao ser executado.
Faça o teste passar é o passo 1. Neste passo escreve-se apenas código suficiente para que o teste passe. Mesmo que se saiba que o código deve fazer mais coisas, fazer os testes passarem deve ser a única preocupação nesta etapa.
Keep it simple é o passo 1. Como a solução vai surgindo pouco a pouco, a tendência é que não se perca tempo com aquilo que não se tem certeza que será usado em seguida, então, o foco deve estar no planejamento de testes simples.
Documente o teste é o passo 3. Os testes, quando bem definidos, são mais simples de ler que o código e, embora nem sempre sirvam como uma especificação para o usuário final, eles são uma fonte eficiente para entender o que o software faz. Além disso, esta documentação sempre estará atualizada com a aplicação.
{TITLE}
{CONTENT}
{TITLE}
Aguarde, enviando solicitação...