Questões de Concurso
Sobre programação orientada a objetos em programação
Foram encontradas 968 questões
Uma software house mantém um sistema de desenho técnico. A equipe perce beu que, sempre que surge um novo tipo de figura, como triângulo ou losango, várias partes do código precisam ser alteradas, especialmente rotinas que usam if/else ou switch para verificar o tipo da figura antes de desenhá-la.
Com base nos princípios OCP e LSP, assinale a afirmativa INCORRETA.
(__)Uma classe abstrata serve como modelo para outras classes e não permite que instâncias (objetos) sejam criadas diretamente a partir dela.
(__)Classes concretas são aquelas que implementam todos os métodos definidos em sua hierarquia, permitindo a criação de objetos operacionais.
(__)Uma classe abstrata pode conter métodos concretos, com implementação definida, além de assinaturas de métodos abstratos sem corpo.
(__)Toda classe abstrata deve possuir pelo menos dez métodos abstratos para ser considerada válida pelo compilador da linguagem.
Após análise, assinale a alternativa que apresenta a sequência correta dos itens acima, de cima para baixo:
static int soma(int x, int y) { return x + y; } static double soma(double x, double y) { return x + y; } public static void main(String[] args) { int meuNum1 = soma(8, 5); double meuNum2 = soma(4.3, 6.26); }
Sobre o código acima exposto, temos um exemplo claro de qual ocorrência em relação ao método soma?
( ) Encapsulamento significa que os detalhes de implementação de uma classe ficam ocultos, de modo que outros objetos interajam com ela somente por meio de seus métodos públicos.
( ) Uma nova classe de objetos pode ser criada convenientemente por meio de herança — ela (subclasse) começa com as características de uma classe existente (superclasse), possivelmente personalizando-as e adicionando aspectos próprios.
( ) Polimorfismo permite que uma variável de tipo de superclasse referencie objetos de subclasses diferentes e invoque métodos que se comportam de maneira distinta conforme o tipo real do objeto.
( ) Reutilização de classes significa empregar a mesma definição de classe para criar múltiplas instâncias e também utilizá-la como base para novas estruturas por meio de herança ou composição, evitando duplicação de código.
I- O polimorfismo permite que objetos de classes diferentes sejam tratados por uma mesma abstração, de modo que a seleção do comportamento concreto possa ocorrer em tempo de execução, desde que os tipos envolvidos respeitem o contrato definido por uma interface, classe abstrata ou hierarquia compatível.
II- A herança deve ser utilizada sempre que duas classes compartilham atributos com nomes semelhantes, pois a reutilização estrutural é critério suficiente para estabelecer relação “é-um”, mesmo que os comportamentos esperados das subclasses violem substitutibilidade em relação à superclasse.
III- A redução de condicionais baseadas em tipo concreto pode aumentar a extensibilidade do módulo quando novas políticas de cobrança são adicionadas por meio de novas implementações de uma abstração, sem exigir alteração direta da lógica cliente que consome o contrato comum.
IV- O encapsulamento consiste em tornar todos os atributos privados e todos os métodos públicos, garantindo baixo acoplamento automaticamente, independentemente da exposição de detalhes internos por métodos de acesso e da estabilidade da interface pública da classe.
Analisadas as sentenças, estão CORRETAS apenas:
I. Uma classe pode ser entendida como um modelo que define atributos e métodos, enquanto um objeto corresponde a uma instância criada a partir dessa classe.
II. A herança permite que uma classe aproveite atributos e métodos de outra, favorecendo a reutilização de código e a organização em hierarquias.
III. A sobrecarga de métodos ocorre quando métodos possuem o mesmo nome e a mesma lista de parâmetros, diferenciando se pelo conteúdo executado internamente.
Está(ão) correta(s):
Durante o desenvolvimento de um sistema interno do Conselho Regional de Enfermagem para gerenciamento de profissionais registrados, uma analista implementou a seguinte estrutura na linguagem Java:

Posteriormente, no método principal da aplicação, foi criado o seguinte objeto:

Considerando os fundamentos de orientação a objetos em Java, assinale a alternativa correta.
I. Uma classe define seus atributos como privados e disponibiliza apenas métodos públicos para sua leitura e alteração, permitindo a realização de validações antes de qualquer modificação dos dados.
II. Uma classe base é estendida por diversas subclasses que compartilham comportamento comum, mas especializam determinadas operações conforme suas regras específicas.
III. Um mesmo método, definido na classe base, é reimplementado nas subclasses, de modo que sua execução produza comportamentos distintos conforme o tipo concreto do objeto em tempo de execução.
Com base nos conceitos fundamentais da programação orientada a objetos, assinale a opção que classifica corretamente as práticas descritas.
I - Protege o estado interno de um objeto e restringe o acesso direto aos seus dados.
II - Tem a capacidade de ocultar detalhes internos de implementação de uma classe ou objeto.
III - Não garante manter a integridade dos dados e protegê-los de mudanças indevidas.
IV - Baseia-se no princípio de ocultação de informações, em que os detalhes internos de implementação ficam invisíveis para usuários.
Observe as assertivas abaixo e, em seguida, assinale a alternativa correta.
I. Em Java, uma classe que implementa uma interface deve fornecer implementações concretas para todos os métodos declarados nessa interface (a menos que a classe seja abstrata).
PORQUE
II. As interfaces em Java permitem que uma classe herde o comportamento e o estado de múltiplas superclasses, contornando a ausência de herança múltipla de classes.
Analise as afirmativas abaixo sobre a programação concorrente em Java, segundo a obra de Deitel.
II. Para iniciar a execução de um thread criado a partir da classe Thread,, deve-se chamar o método run() diretamente no código principal.
III. O estado de um thread que está aguardando o processador para ser executado é chamado de RUNNABLE.
IV. O método sleep() da classe Thread é utilizado para encerrar permanentemente a execução de um thread de baixa prioridade.
Estão corretas apenas as afirmativas
Em Java, os objetos da classe String são considerados __________, o que significa que seu conteúdo não pode ser alterado após a criação. Para situações em que é necessária a manipulação intensiva de sequências de caracteres com alterações frequentes de conteúdo, a classe __________ é mais eficiente por permitir modificações in-place.
A sequência de palavras que preenche corretamente as lacunas é: