Questões de Concurso
Sobre programação orientada a objetos em programação
Foram encontradas 966 questões
Uma equipe de desenvolvimento mantém o model abaixo em um projeto Django, em condições ideais:

Eles querem acessar log.atraso_minutos calculando o valor em tempo de execução, sem criar coluna na tabela. O trecho que deve ser adicionado ao model é:
Considere o programa desenvolvido na linguagem PHP (php.net):

Sobre o programa acima:
I. A instrução da linha 28 não pode ser executada, pois o método decrementAge() só pode ser chamado por métodos dentro da mesma classe ou de classes que a herdarem.
Il. A instrução da linha 29 não pode ser executada, pois o método ageChanged() só pode ser chamado por métodos dentro da mesma classe.
Ill. Na linha 22, o método decrementAge() pode ser chamado dentro da classe SupernaturalPerson, pois ela está herdando os métodos da classe Person.
Está correto o que se afirma em:
I. O paradigma POO é sustentado por quatro conceitos principais, que garantem a segurança e a flexibilidade do sistema: abstração, encapsulamento, herança e polimorfismo.
Il. A POO é utilizada amplamente em várias linguagens modernas, sendo a abordagem padrão e dominante em linguagens como Java e C#.
IIl. A POO organiza o código em objetos para facilitar a manutenção e o reuso do código.
Está correto o que se afirma em:
I. A herança possibilita que uma classe derivada (subclasse) adquira automaticamente os atributos e métodos de uma classe base (superclasse).
II. O polimorfismo permite tratar diferentes objetos por meio de uma interface comum, em que cada objeto pode implementar a ação de forma específica para a sua classe.
III. O encapsulamento trata do isolamento dos dados de um objeto, unindo seus atributos e métodos dentro da classe e limitando o acesso externo.
Quais estão corretas?
Considere o seguinte código escrito em PHP 8.
class Equipamento {
public $nome;
protected $codigo;
private $status;
public function __construct($nome, $codigo) {
$this->nome = $nome;
$this->codigo = $codigo;
}
}
}
class Computador extends Equipamento {
public function exibirDados() {
return “Nome: $this->nome, Código: $this->codigo”;
}
Sobre a visibilidade dos atributos e a herança no código acima, assinale a alternativa CORRETA.
Sobre a estrutura e execução desse teste, assinale a alternativa CORRETA.
Com relação à arquitetura de software, à interoperabilidade de sistemas e a tecnologias associadas, julgue o item subsequente.
Em programação orientada a objetos, um objeto define as características e os comportamentos de um conjunto de classes.
A respeito dos conceitos fundamentais da orientação a objetos, da linguagem C# e de API (application programming interface), julgue o item subsequente.
No trecho de código C# a seguir, a classe Employee declara o método Payment(), a classe OutsourcedEmployee o sobrescreve com override, e, como a variável é do tipo Employee, mas referencia um objeto do tipo OutsourcedEmployee, a chamada e.Payment() executa o método redefinido na subclasse.

Considerando os conceitos fundamentais de arquitetura e linguagem orientadas a objetos, bem como o desenvolvimento e a integração via interfaces de programação de aplicações (API), julgue o item subsequente.
Na arquitetura orientada a objetos, o encapsulamento é o princípio que visa ocultar os detalhes de implementação interna e proteger o estado de um objeto, restringindo o acesso direto aos seus atributos e mediando a interação do meio externo por meio de métodos públicos definidos.
Considerando os conceitos fundamentais de arquitetura e linguagem orientadas a objetos, bem como o desenvolvimento e a integração via interfaces de programação de aplicações (API), julgue o item subsequente.
Na arquitetura orientada a objetos, o polimorfismo baseado em ligação dinâmica (late binding) faz com que a implementação invocada de um método em tempo de execução seja determinada pelo tipo real do objeto instanciado, e não apenas pelo tipo estático da variável de referência.
Analise as afirmativas a seguir sobre conceitos importantes em Java e considere V (verdadeira) ou F (falsa):


Assinale a alternativa correta:
Sobre o polimorfismo e o código acima, avalie as afirmações a seguir:
I - O polimorfismo permite que o método chamado seja determinado em tempo de execução (late binding).
II - A saída do programa será “Veículo movendo”, pois o tipo da variável v é Veículo.
III - No polimorfismo subclasses de uma classe podem definir seus próprios comportamentos únicos, compartilhando, ainda assim, algumas das funcionalidades da classe original.
Das afirmações acima, quais estão corretas?
O domínio possui as classes
ProcessoLicenciamento, ParecerTecnico, Vistoria e DocumentoObrigatorio.
O arquiteto definiu que a classe ProcessoLicenciamento atuará como Aggregate Root. Durante uma revisão de código, constatou-se que um desenvolvedor criou um repositório exclusivo para a classe Vistoria, permitindo que sistemas externos alterem o status de uma vistoria diretamente no banco de dados, sem passar pelas regras de validação contidas em ProcessoLicenciamento.
À luz dos padrões táticos do DDD, a abordagem do desenvolvedor está incorreta porque viola o seguinte princípio:
A orientação a objetos baseia-se em pilares fundamentais para promover flexibilidade e reutilização de código.
O conceito que permite a referências do tipo genérico Aeronave invocar comportamentos específicos diferentes, dependendo do tipo do objeto real apontado em tempo de execução, é
A partir de 2019, o projeto migrou para a comunidade open source sob o nome Laminas Project, mantendo a mesma arquitetura e os mesmos conceitos fundamentais. Entre seus principais componentes estão o sistema de módulos, o Service Manager (gerenciador de serviços baseado em injeção de dependências), o Event Manager e o sistema de rotas.
Considere o seguinte trecho de código representando um controller em uma aplicação baseada no Zend Framework (ZF2/ZF3):
<?php
namespace Application\Controller;
use Zend\Mvc\Controller\AbstractActionController; use Zend\View\Model\ViewModel;
class ProdutoController extends AbstractActionController { private $produtoService; public function __construct(ProdutoService $produtoService) { $this->produtoService = $produtoService; } public function listarAction() { $produtos = $this->produtoService->buscarTodos(); return new ViewModel([ 'produtos' => $produtos, ]); } }
Considerando a arquitetura e os conceitos do Zend Framework (versões 2 e 3), e o funcionamento do framework, assinale a afirmativa correta.