SóProvas



Questões de Programação Orientada a Objetos


ID
7318
Banca
ESAF
Órgão
CGU
Ano
2004
Provas
Disciplina
Programação
Assuntos

No desenvolvimento Orientado a Objetos usando UML, um prefixo é incorporado a um nome de atributo ou nome de operação para indicar a visibilidade da propriedade. Com relação ao prefixo utilizado com esta finalidade, é correto afirmar que os atributos ou operações

Alternativas
Comentários
  • Creio que a letra "d" também está correta pois a notação indica : public "+"; protected "#" e private "-"
  • A letra "d", com certeza, está correta.
    public +
    private -
    protected #
    package ~
  • a C e D estão corretas...
  • Concordo, as letras C e D estão corretas:

    + público - visível em qualquer classe
    # protegido - qualquer descendente pode usar
    - privado - visível somente dentro da classe
  • Por isto a questão deve ter sido anulada: tanto a letra C quanto a letra D estão corretas.
  • Por isto a questão deve ter sido anulada: tanto a letra C quanto a letra D estão corretas.

ID
215701
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Programação
Assuntos

A respeito da hierarquia de classes, um conceito de relevância na
programação orientada a objetos, julgue o item que se segue.

Considere que uma classe C1 implemente determinado método M1 e tenha duas subclasses: C2 e C3. Nessa situação, o comportamento de um objeto de C2 ou C3 que receba uma mensagem invocando o método M1 será obrigatoriamente idêntico ao comportamento de um objeto de C1 que receba a mesma mensagem.

Alternativas
Comentários
  • Errado, porque pode ter havido a sobreposição (polimorfismo) do método nas subclasses.

  •  Primeiramente, temos em questão uma classe-pai ou superclasse C1, a mesma tem um método chamado M1. A questão também aborda a herança, isso é visto quando as classes C2 e C3 herdam de C1. No mecanismo de herança (é-um), podemos ou não utilizar o método da superclasse.

    O que torna a questão errada é o termo "obrigatoriamente", se quisermos podemos fazer a sobrecarga do método M1 fazendo a nossa própria implementação de comportamento M1 para cada uma das subclasses (C2 e C3). Isto é comum em java quando sobrescrevemos a implementação dos métodos de Object (equals(), hashCode(), etc).

    A título de informação: 

    No Java, temos duas palavras reservadas: super e this. Elas servem de referência para explicitamente utilizar os métodos da superclasse ou subclasse (super para superclasse) e this para subclasse.

  • Não concordo com o gabarito oficial.

    Em nenhum momento foi dito que as subclasses C2 e C3 fizeram sobrecarda do método M1, ou seja, continuam a herdar a função M1 de C1.

    Não poderíamos supor que as classes C2 e C3 realizaram uma implementação própria de M1 (pelo menos não deveriamos). Se a resolução

    for na base do "achômetro" eu poderia muito bem dizer que C2 redefiniu M1 e que C3 preferiu manter a implementação M1 do pai (C1).

    Em minha opinião seria uma questão pra RECURSO!!!


ID
215704
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Programação
Assuntos

A respeito da hierarquia de classes, um conceito de relevância na
programação orientada a objetos, julgue o item que se segue.

Se a classe C2 é uma subclasse da classe C1, todas as características que são herdadas por C2 foram definidas na classe C1 ou em alguma de suas superclasses.

Alternativas
Comentários
  • "Se a classe C2 é uma subclasse da classe C1, todas as características que são herdadas por C2 foram definidas na classe C1 ou em alguma de suas superclasses." O erro está em dizer alguma de suas superclasses. Na verdade, a classe em uma hierarquia herdará de todas as classes acima dela.

  • gabarito preliminar : E
    gabarito definitivo: - Deferido com anulação
    justificativa: O item permite mais de uma interpretação possível, razão pela qual se opta por sua anulação.

    Postado pelo Nilo Lima no TIMasters, sobre a ambiguidade da questão:

    Se a classe C2 é uma subclasse da classe C1, todas as características que são herdadas por C2 são definidas na classe C1 ou em alguma de suas superclasses."

    Entendimento 1: C2 é subclasse de C1 e herda as características somente de C1 ou das superclasses de C1. Sendo assim interpretamos que as superclasses referidas são somente as de C1, fato que tornaria a questão ERRADA.

    Entendimento 2: C2 é subclasse de C1 e herda as características de C1 ou das superclasses de C2. Sendo assim interpretamos que as características são herdadas de um lugar, C1, ou de outro, superclasses de C2.

    A ambigüidade pode ser caracterizada por não ser possível afirmar com certeza se o termo "ou em alguma de suas superclasses" se refere a C1 ou C2.

  • A respeito da hierarquia de classes, um conceito de relevância na programação orientada a objetos, julgue o item que se segue.

    Se a classe C2 é uma subclasse da classe C1, todas as características que são herdadas por C2 foram definidas na classe C1 ou em alguma de suas superclasses.

     

    Não necessariamente todas as características foram definidas em C1 ou em suas superclasses.

    Como o enunciado falou em orientação a objetos, poderia existir também em C2 uma relação de herança múltipla, em que C2 além de herdar de C1, também poderia herdar diretamente de outras classes.


ID
218212
Banca
CESPE / CEBRASPE
Órgão
TRE-BA
Ano
2010
Provas
Disciplina
Programação
Assuntos

A respeito de orientação a objetos, julgue os próximos itens.

A técnica denominada instanciação é a única que permite a criação de objetos em programação orientada a objetos.

Alternativas
Comentários
  •  Qual outra técnica além da instanciação permite criar objetos?

  • Reflection e Prototipação são outras formas de criar um objeto diferentes de instanciação

  • Eu deixaria em branco esta questão por não saber que era possível criar objetos sem a instanciação!

  • Olá, pessoal!

    Esta questão foi anulada pela banca.

    Bons estudos!

  • Justificativa da banca para anulação da questão:

    "A redação do item permite uma análise equivocada sobre os conceitos relacionados à orientação a objetos, dando margem à dupla interpretação."

ID
242926
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2010
Provas
Disciplina
Programação
Assuntos

A respeito da hierarquia de classes, um conceito relevância na
programação orientada a objetos, julgue os itens que se seguem.

Se a classe C2 é uma subclasse da classe C1, todas as características que são herdadas por C2 são definidas na classe C1 ou em alguma de suas superclasses.

Alternativas
Comentários
  • Primeiro temos que ter a malícia de ver que a questão não se restringe a JAVA. Por isso, podemos considerar heranças múltiplas o que tornaria de início o item ERRADO.

    Mesmo considerando JAVA podemos também considerar que existe uma forma de herança múltipla por meio de uso de interfaces. Neste caso, parte das características da subclasse viriam também da interface.

  • O problema da questão está no fato de não ter ficado claro no trecho "ou em alguma de suas superclasses" se o mesmo se refere à C1 ou à C2.

ID
280876
Banca
INSTITUTO CIDADES
Órgão
AGECOM
Ano
2010
Provas
Disciplina
Programação
Assuntos

Com relação a classes no Paradigma da Orientação a Objetos (POO), marque a alternativa correta.

Alternativas
Comentários
  • Posso estar enganado, mas acredito que o erro da alternativa C seja a afirmação de que o modelo orientado a objetos surgiu antes das linguagens de programação. As primeiras linguagens de programação apresentavam somente o paradigma estrutural e com o tempo foi observada a necessidade de migrar a um novo modelo com objetos. Logo, o modelo de programação oientado a objetos surgiu APÓS as linguagens de programação.

  •  a) Objeto em POO é uma instância de um método (uma classe).

     b) Uma classe em POO é uma abstração das características de um grupo de coisas do mundo imaginário (real).

     c) Tanto o paradigma estrutural como o paradigma orientado a objetos surgiram antes das linguagens de programação, para depois serem aplicadas à modelagem de sistema.

     d) Uma classe é uma descrição dos atributos e serviços comuns a um grupo de objetos.

     e) Os objetos em POO executam suas operações aleatoriamente, através das Threads específicas.

  • OBJETOS SÃO INSTANCIAS DE CLASSES!!!!!

  • d-

    Atributos: são as características do objeto.


    Classes: guarda um conjunto de atributos que define as características de um objeto.


ID
348961
Banca
FUNDEP (Gestão de Concursos)
Órgão
CODIUB
Ano
2010
Provas
Disciplina
Programação
Assuntos

Em programação orientada a objetos, indique o tipo de controle de acesso que permite que um método seja acessado apenas pela classe que o criou ou por todas as suas dependentes.

Alternativas
Comentários
  • Private: A única classe que tem acesso ao atributo é a própria classe que o define, ou seja, se uma classe Pessoa declara um atributo privado chamado nome, somente a classe Pessoa terá acesso a ele.

    Default: Tem acesso a um atributo default (identificado pela ausência de modificadores) todas as classes que estiverem no mesmo pacote que a classe que possui o atributo.

    Protected: Esse é o que pega mais gente, ele é praticamente igual ao default, com a diferença de que se uma classe (mesmo que esteja fora do pacote) estende da classe com o atributo protected, ela terá acesso a ele. Então o acesso é por pacote e por herança.

    Public: Esse é fácil, todos tem acesso :)

  • O termo correto é Protected, e não Protect.


ID
931480
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2010
Provas
Disciplina
Programação
Assuntos

Com referência aos conceitos da programação orientada a aspectos julgue os itens subsequentes.

Uma das diferenças entre aspectos e abordagens orientadas a objetos está na abstração, uma vez que os aspectos incluem uma especificação de onde devem ser executados.

Alternativas

ID
1003594
Banca
AOCP
Órgão
Colégio Pedro II
Ano
2010
Provas
Disciplina
Programação
Assuntos

(Java) Herança é uma forma de reutilização de software na qual uma nova classe é criada, absorvendo membros de uma classe existente e aprimorada com capacidades novas ou modificadas. Sobre herança, analise as assertivas e, em seguida, assinale a alternativa que apresenta as corretas.

I. No caso de herança simples, uma classe é derivada de uma superclasse indireta.

II. A superclasse direta é a superclasse a partir da qual a subclasse herda explicitamente.

III. A superclasse indireta é qualquer superclasse acima da classe direta na hierarquia de classe.

IV. Os relacionamentos de herança formam estruturas hierárquicas do tipo árvore.


Alternativas
Comentários
  • Gabarito C.

    Apenas II, III e IV. 


ID
1042609
Banca
CESPE / CEBRASPE
Órgão
MPU
Ano
2013
Provas
Disciplina
Programação
Assuntos

Julgue os itens a seguir acerca de análise e projeto orientados a objeto.

Utiliza-se visibilidade pública ou privada para indicar o nível de acessibilidade de determinado método ou atributo.

Alternativas

ID
1110316
Banca
IPAD
Órgão
IPEM-PE
Ano
2014
Provas
Disciplina
Programação
Assuntos

Uma das primeiras linguagens de programação para computadores foi provavelmente Plankalkül, criada por Konrad Zuse na Alemanha Nazista, mas que teve pouco ou nenhum impacto no futuro das linguagens de programação.

O primeiro compilador foi escrito por Grace Hopper, em 1952, para a linguagem de programação A-0. A primeira linguagem de programação de alto nível amplamente usada foi Fortran, criada em 1954. Em 1957 foi criada B-0, sucessora da A-0, que daria origem a Flow-Matic (1958), antecessor imediato de COBOL, de 1959. O COBOL foi uma linguagem de ampla aceitação para uso comercial. A linguagem ALGOL foi criada em 1958-196017 O ALGOL-60 teve grande influência no projeto de muitas linguagens posteriores.

Analise as afirmativas a seguir:

I. Programação estruturada é uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e repetição

II. Programação modular é uma forma de programação no qual o desenvolvimento das rotinas de programação é feito através de módulos, que são interligados entre si através de uma interface comum.

III. Programação Orientada a Objetos (POO) é um paradigma de análise, projeto e programação de sistemas de software baseado na composição e interação entre diversas unidades de software chamadas de objetos.

Assinale a alternativa correta:

Alternativas

ID
1454983
Banca
FGV
Órgão
TJ-SC
Ano
2015
Provas
Disciplina
Programação
Assuntos

Um determinado método da classe A deve poder ser invocado quer tenha sido criada uma instância de A ou não. O modificador que deve obrigatoriamente estar presente na declaração desse método é:

Alternativas
Comentários
  • Método abstrato:

    Declarado (geralmente na interface), mas não implementado. Logo, não pode ser chamado.

    Método estático:

    Não precisa que um objeto tenha sido instanciado para que ele seja acessado.

    Método público:

    Pode ser acessado por todas as classes.

    Método protegido:

    Só pode ser acessado pela classe em que ele foi implementado e pelas filhas dela.

    Método final:

    Não pode ser sobrescrito (override).


ID
1459870
Banca
CESGRANRIO
Órgão
Petrobras
Ano
2012
Provas
Disciplina
Programação
Assuntos

Os mecanismos de composição de objetos e de herança de classes são fundamentais na orientação a objetos. Nesse contexto, considere as classes Main e S, apresentadas abaixo. Considere também que os argumentos dos construtores de W, V e Z são usados para iniciar o atributo componente definido na classe M.

public class
Main {
         public static void main (String [ ] args) {
                 X y = new  Y (80, 24) ;
                 X w = new W (y) ;
                 X v = new  V (w) ;
                 X z = new  Z (v) ;
                 z.draw ( ) ;
         }
}
public abstract class S implements X {
         X componente;

         public void draw ( ) {
                   componente.draw ( ) ;
         }
}

Seja S a superclasse de Y, W, V e Z.
Dentre essas subclasses de S, qual(is) deve(m), obrigatoriamente, implementar a operação draw definida na interface X?

Alternativas

ID
1521889
Banca
IADES
Órgão
CFA
Ano
2010
Provas
Disciplina
Programação
Assuntos

O princípio em que um sistema orientado a objetos se baseia e que é diretamente aplicável ao fundamento de que um objeto não deve depender de sua implementação interna, mas sim de sua interface, é denominado

Alternativas

ID
1664200
Banca
IESES
Órgão
TRE-MA
Ano
2015
Provas
Disciplina
Programação
Assuntos

 Em relação a programação orientada a objetos, avalie as assertivas abaixo:

I. Uma subclasse herda atributos e métodos definidos de sua superclasse, se necessário for pode sobrepor métodos da superclasse e/ou ainda criar novos métodos e atributos e métodos.

II. Toda classe abstrata deve possuir ao menos um método abstrato.

III. É chamado de método sobrecarregado aquele parâmetros e nome iguais ao método original implementado na superclasse.

IV. Na linguagem Java, é utilizado para representar objetos que devem ser armazenados em disco rígido o modificador static.

A quantidade de itens corretos é igual a: 

Alternativas
Comentários
  • I-CORRETA

    II-ERRADA. Uma classe abstrata pode não possuir nenhum método abstrato. Ela deve apenas ter a palavra reservada ABSTRACT

    III-ERRADA. Método sobrecarregado é aquele que muda a lista de parâmetros.

    IV-ERRADA. Para representar objetos que serão armazenados no disco deve ser utilizada a interface Serializable


ID
2246962
Banca
Marinha
Órgão
Quadro Técnico
Ano
2016
Provas
Disciplina
Programação
Assuntos

Com base nos conceitos da programação orientada a objetos e na linguagem de programação Java, assinale a opção correta.

Alternativas
Comentários
  • A) Para que se possam instanciar objetos de uma classe abstrata, esta precisa conter métodos abstratos e concretos (NÃO SE INSTANCIAM OBJETOS DE UMA CLASSE ABSTRATA!)

     

    B) Os métodos da subclasse podem referir-se a membros public, private e protected herdados da superclasse. (MÉTODOS PRIVATE SÃO VISÍVEIS APENAS À PRÓPRIA CLASSE)

     

    c) Os construtores de subclasse podem chamar construtores da superclasse via palavra-chave extend. (SUPER)

     

    D) Os métodos declarados como static são implicitamente finais. (POIS, NÃO É POSSÍVEL SOBRESCREVÊ-LOS)

     

    E)Se uma superclasse declarar um método como abstract, uma subclasse deverá implementar esse método. (A SUBCLASSE DEVERÁ IMPLEMENTAR TODOS OS MÉTODOS DECLARADOS NA SUPERCLASSE ABSTRATA)

     

    Fonte - Java Como programar - DEITEL

    @papirobizurado

  • Discordo da decisão da banca em relação a letra D, sendo que para mim é somente a E a correta.

    Caso seja feito o seguinte código:


    public class Pessoa1 {

        public static void exibirNome() {
           System.out.print("Maria");
        }

    } ​


    public class Pessoa extends Pessoa1 {

        public static void main( String[] args ) {
            exibirNome();
        }

        public static void exibirNome() {
           System.out.print("João");
        }

    } ​

    O resultado impresso no console do usuário, será João e não Maria, tudo devido a Sobreescrita do método.
    Acho que faltou conhecimento da banca para ter anulado essa questão!
    Segue também um link para saberem o que é sobreescrita de métodos: http://www.devmedia.com.br/sobrescrita-e-sobrecarga-de-metodos-em-java/22603


ID
2673202
Banca
Aeronáutica
Órgão
EEAR
Ano
2018
Provas
Disciplina
Programação
Assuntos

A POO possui seis objetivos sobrepostos para desenvolvimento de software. De acordo com suas características, relacione as colunas e marque a alternativa com a sequência correta.


1 – Natural.

2 – Confiável.

3 – Reutilizável.

4 – Manutenível.

5 – Extensível.

6 – Oportunos.


( ) Uma vez que um problema esteja resolvido, você deve reutilizar a solução.

( ) A linguagem natural do código deve permitir que outros desenvolvedores também o entendam.

( )Vários desenvolvedores podem trabalhar nas classes independentemente.

( ) O software deve crescer e mudar com o passar do tempo para permanecer útil.

( ) Os programas são mais inteligíveis.

( ) Permite que você faça alterações em uma parte de seu programa, sem afetar outras partes.

Alternativas
Comentários
  • Gabarito: letra B


    Reutilizável - Uma vez que um problema esteja resolvido, você deve reutilizar a solução.

    Manutenível - A linguagem natural do código deve permitir que outros desenvolvedores também o entendam.

    Oportuno - Vários desenvolvedores podem trabalhar nas classes independentemente.

    Extensível - O software deve crescer e mudar com o passar do tempo para permanecer útil.

    Natural - Os programas são mais inteligíveis.

    Confiável - Permite que você faça alterações em uma parte de seu programa, sem afetar outras partes. 


  • B

    3 – 4 – 6 – 5 – 1 – 2


ID
2676553
Banca
VUNESP
Órgão
TJM-SP
Ano
2017
Provas
Disciplina
Programação
Assuntos

Na programação orientada a objetos, há um tipo de herança na qual uma classe pode herdar suas características a partir de mais de uma classe-pai. Esse tipo de herança é conhecido como herança

Alternativas
Comentários
  • Se na questão tivesse algo relacionado a JAVA não seria herança múltipla, pois em java não exite erança multipla.

  • Gabarito Letra C.

    A herança múltipla entre classes ocorre sempre que uma subclasse possui duas ou mais superclasses imediatas, ou seja, é "filha" de mais de uma classe. Através da herança múltipla é possível combinar as características de várias superclasses existentes como um ponto de partida para a definição de uma nova classe.

    https://www.inf.pucrs.br/manssour/LinguagemC++/HerancaMultipla.pdf

     

  • Herança Multipla

     

    A herança múltipla deve ser evitada
    Potenciais problemas:
      ◦Difícil de entender
      ◦Codificação confusa
      ◦Ambigüidade e Duplicidade de atributos
    Algumas linguagens não suportam herança múltipla (Java e Smalltalk)
      ◦C++ suporta!

     

    Fonte: Itnernante


ID
2680255
Banca
CESPE / CEBRASPE
Órgão
EBSERH
Ano
2018
Provas
Disciplina
Programação
Assuntos

Acerca de programação orientada a objetos, Java e PHP, julgue o item a seguir.


Por meio do mecanismo de sobrecarga, dois métodos de uma mesma classe podem ter o mesmo nome, desde que suas listas de parâmetros sejam diferentes.

Alternativas
Comentários
  • Marquei certo

    O que é sobrecarga?

    Um outro método, com o mesmo nome e parâmetros de entrada (assinatura) diferentes, existe na classe.

  • Existem dois tipos de polimorfismo que são conhecidos como sobrecarga (overload) e sobreposição (override).

    *

    A sobrecarga de métodos (overload) é um conceito do polimorfismo que consiste basicamente em criar variações de um mesmo método, ou seja, a criação de dois ou mais métodos com nomes totalmente iguais em uma classe. A Sobrecarga permite que utilizemos o mesmo nome em mais de um método contanto que suas listas de argumentos sejam diferentes para que seja feita a separação dos mesmos.

    *

    A Sobreposição de métodos (override) é um conceito do polimorfismo que nos permite reescrever um método, ou seja, podemos reescrever nas classes filhas métodos criados inicialmente na classe pai, os métodos que serão sobrepostos, diferentemente dos sobrecarregados, devem possuir o mesmo nome, tipo de retorno e quantidade de parâmetros do método inicial, porém o mesmo será implementado com especificações da classe atual, podendo adicionar um algo a mais ou não.

    *

    Diferente da sobrecarga, a sobreposição funciona por meio do sistema de herança, e para a mesma funcionar o nome e lista de argumentos dos métodos devem ser totalmente iguais aos da classe herdada.

    *

    A sobrecarga está ligada a variância de estados de um método, podemos entende-la como um conjunto de opções que o programa principal tem para escolher quando recebe os parâmetros passados pelo usuário. Se tivéssemos apenas um método e não utilizarmos a sobrecarga nele, ao passarmos um parâmetro que não consta nesse método, ocorreriam erros no programa. Já com a sobrecarga conseguimos criar variações de um mesmo método conseguindo assim mais opções de uso para ele, então, para a mesma funcionar os métodos devem conter nomes iguais e listas de argumentos diferentes.

    **

    Enquanto a sobrecarga da vida a variação de métodos, a sobreposição possibilita a extensibilidade dos mesmos, pois com ela podemos reescrever métodos criados anteriormente, permitindo assim a criação de versões mais específicas deles. Com a sobreposição podemos pegar um método genérico e transformá-lo em específico, implementando novas funcionalidades pertinentes da classe à qual ele está. Diferente da sobrecarga, a sobreposição funciona por meio do sistema de herança, e para a mesma funcionar o nome e lista de argumentos dos métodos devem ser totalmente iguais aos da classe herdada.

    *

    Fonte: https://www.devmedia.com.br/sobrecarga-e-sobreposicao-de-metodos-em-orientacao-a-objetos/33066

  • Resumindo:

     

    Polimorfismo Estático ==> sobrecarga (overload)
    - A mesma operação implementada várias vezes na mesma classe.
    - A escolha depende da assinatura dos métodos sobrecarregados.

     

    Polimorfismo Dinâmico ==> sobreposição/sobrescrita (override)
    - Acontece na herança, quando a subclasse sobrepõe o método original.
    - Método é escolhido em tempo de execução, não em tempo de compilação.
    - A escolha depende do tipo de objeto que recebe a mensagem.

  • Questão certa. Definição direta do mecanismo de sobrecarga (ou overloading) de métodos, que permite que tenhamos na mesma classe métodos com o mesmo nome, mas listas de parâmetros diferentes.

    Resposta: Certo

  • Sobrecarregar de métodos significa ter vários métodos com nomes iguais mais assinaturas diferentes. A sobrescrita de métodos seria criar um novo método na classe filha contendo a mesma assinatura e mesmo tipo de retorno do método sobrescrito.


ID
2680258
Banca
CESPE / CEBRASPE
Órgão
EBSERH
Ano
2018
Provas
Disciplina
Programação
Assuntos

Acerca de programação orientada a objetos, Java e PHP, julgue o item a seguir.


Na herança por especificação, a subclasse especifica a superclasse, acrescentando a ela novos atributos ou métodos, mas mantendo inalterada sua constituição original.

Alternativas
Comentários
  • Há várias formas de relacionamentos em herança:

     

    Extensão: subclasse estende a superclasse, acrescentando novos membros (atributos e/ou métodos). A superclasse permanece inalterada, motivo pelo qual este tipo de relacionamento é normalmente referenciado como herança estrita.

     

    Especificação: a superclasse especifica o que uma subclasse deve oferecer, mas não implementa nenhuma funcionalidade. Diz-se que apenas a interface (conjunto de especificação dos métodos públicos) da superclasse é herdada pela subclasse.

     

    Combinação de extensão e especificação: a subclasse herda a interface e uma implementação padrão de (pelo menos alguns de) métodos da superclasse. A subclasse pode então redefinir métodos para especializar o comportamento em relação ao que é oferecido pela superclasse, ou ter que oferecer alguma implementação para métodos que a superclasse tenha declarado mas não implementado. Normalmente, este tipo de relacionamento é denominado herança polimórfica.

  • Fonte??

  • Acho que está errada, pois pode alterar a constituição. Não somente acrescentando coisas novas. Os métodos podem ser sobrescritos, por exemplo.

  • Fonte do comentário do Gustavo Flores: http://www.dca.fee.unicamp.br/cursos/PooJava/heranca/formas.html

  • A superclasse especifica o que uma subclasse deve oferecer, mas não implementa nenhuma funcionalidade. Diz-se que apenas a interface (conjunto de especificação dos métodos públicos) da superclasse é herdada pela subclasse.

    Fonte do comentário do Gustavo Flores: http://www.dca.fee.unicamp.br/cursos/PooJava/heranca/formas.html

  • Dica rápida:

     

    ESPECIFICAÇÃO -- INTERFACE

     

    Top down: superclasse ->>> subclasse.

     

    Go @head!!!!

  • Extensão: subclasse estende a superclasse, acrescentando novos membros (atributos e/ou métodos)

    Especificação: a superclasse especifica o que uma subclasse deve oferecer


ID
2680261
Banca
CESPE / CEBRASPE
Órgão
EBSERH
Ano
2018
Provas
Disciplina
Programação
Assuntos

Acerca de programação orientada a objetos, Java e PHP, julgue o item a seguir.


O suporte para a implementação de diversas interfaces em uma única classe é considerado uma solução alternativa para contornar a restrição de herança única própria da linguagem Java.

Alternativas
Comentários
  • Exatamente isso, como a linguagem Java não tem herança múltipla, as interfaces ajudam nessa questão, pois bem se sabe que uma classe pode ser herdada apenas uma vez, mas pode implementar inúmeras interfaces.

  • Errei pensando que o avaliador quis fazer uma pegadinha com "restrição de herança única própria da linguagem Java", quando era pra dizer restrição a herança múltipla. :/

  • Mas a herança única não é propria da linguagem Java... Também achei que tinha pegadinha na palavra PRÓPRIA...

  • Complementando o comentário do Adeilson Aragão.

     

    Uma classe implementa várias interfaces;

     

    Uma interface implementa várias interfaces.

     

    Go @head!!!

  • Isso se chama gambiarra. Uma coisa é implementar métodos, outra coisa é herdar métodos, sem precisar do polimorfismo. Se alguém conhecer literatura sobre isso, favor compartilhar.

  • Quem não tem acesso:  - -> Certo

  • tbm cai nessa parte da herança única é própria da linguagem java... outras linguagens de programação usam o conceito de herança simples... questao mal feita

  • gente, esse examinador nao falou nada com nada

     

    se ele tivesse falando dos virtual extensions methos, ou default methods, que é a possibilidade de vc ter métodos concretos em uma interface, aí a questao estaria certa

     

    mas implementar varias interfaces nao tem nada a ver com o problema de heranca multipla

     

    que drogas sao essas q esse cara usou?

     

    quero tbm


ID
2684911
Banca
Aeronáutica
Órgão
CIAAR
Ano
2018
Provas
Disciplina
Programação
Assuntos

No paradigma de programação Orientado a Objetos, herança promove um mecanismo que possibilita o reuso de uma implementação em novos contextos (objetos e classes).

Sobre herança de classes pode-se afirmar que

Alternativas
Comentários
  • Pelo que entendi da alternativa correta B e que o comportamento definido na classe filha afetaria o mesmo comportamento da classe pai. Isto não consegui ocorrera.

    Alternativa A. Em princípio o uso da herança não impede o uso da composição.

    Desvantagem da herança: aumentar o acoplamento e o forte acoplamento

    Desvantagem da composição: como ela permite que o comportamento do software seja definido em termo de execução teremos um software muito dinâmico e parametrizado é mais difícil de entender do que software mais estático.

    https://www.devmedia.com.br/heranca-versus-composicao-qual-utilizar/26145


ID
2709226
Banca
SUGEP - UFRPE
Órgão
UFRPE
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sobre Programação Orientada a Objetos (POO), assinale a alternativa incorreta.

Alternativas
Comentários
  • Letra C - JAVA por exemplo não tem herança múltipla.

  • Não concordo com o Gabarito a letra E está errada, pois não existe uma forma de se programar em java estruturado, no mínimo você vai criar uma classe com o método "main". PRONTO CRIOU CLASSE ESTÁ USANDO CONCEITO OO.

    Pode ser que o examinador pensou em JSP usando scriptlets, porém é só uma forma implícita, pois será gerado uma servlet que será uma classe que novamente usou o conceito de OO.

    ENTÃO, essa questão tem duas respostas LETRA C e LETRA E

  • Questão correta, sobre o comentário do Fabain se você fizer uma classe com um único método main() que faz algumas operações matemáticas utilizando tipos primitivos, e imprimindo isso na tela você não usa OO e seu código é estruturado.

    Lembrando que a programação estruturada é uma forma de escrever os códigos sem encapsular dados, ou seja, que em qualquer parte do código seja possível utilizar um dado guardado em uma variável, sem a necessidade de permissão.

    Programar Java estruturado é possível porem um desperdício dos recursos que OO e a própria linguagem oferecem.


ID
2721640
Banca
CEPS-UFPA
Órgão
UNIFESSPA
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sobre programação orientada a objetos é correto afirmar que

Alternativas
Comentários
  • Gabarito Letra A. 

    As classes de programação são projetos de um objeto, aonde têm características e comportamentos, ou seja, permite armazenar propriedades e métodos dentro dela.

  • Uma classe representa um conjunto de objetos com características afins. Uma classe define o comportamento dos objetos através de seus métodos, e quais estados ele é capaz de manter através de seus atributos.

     

    fonte: resumos


ID
2728726
Banca
CEPS-UFPA
Órgão
UFPA
Ano
2018
Provas
Disciplina
Programação
Assuntos

A herança múltipla é implementada na linguagem orientada a objetos chamada

Alternativas
Comentários
  • LETRA D

    Para complementar JAVA não possuia herança Múltipla, porém no Java8 foi implementado o default method e ele permite a construção de uma "certa" herança múltipla.

    fonte: https://imasters.com.br/back-end/heranca-multipla-no-java-no-java8-pode-sim

  • Gabarito letra D

     

    Python é uma linguagem de programação de alto nível, interpretada, imperativa, multiparadigma, e de tipagem forte e dinâmica. É uma linguagem que suporta a grande maioria das técnicas de programação orientada a objetos. TUDO na linguagem Python é um objeto.

     

    Fonte: Prof. Diego Carvalhos/Judah Reis Estratégia

  • "Herança é algo bem interessante, e Python, como uma linguagem completa que é também suporta herança nas classes.
    Na verdade suporta até mais que isto: Herança Múltipla !

    Para quem trabalha com Java isto não é familiar, pois o java não a suporta, porém para quem trabalha com C++ sim !"

    https://programadorlivre.wordpress.com/2010/06/24/heranca-multipla-em-python/

  • De todas as linguagens mencionadas, a única que suporta herança múltipla é Python. Essa é uma característica importante do Python. Guarde isso.

    Resposta: D

  • De todas as linguagens mencionadas, a única que suporta herança múltipla é Python. Essa é uma característica importante do Python. Guarde isso.

    Resposta: D

  • Assertiva D

    a linguagem orientada a objetos chamada Python.

  • Objetos são estruturas compostas de atributos e métodos (funções). Quando dizemos que tudo em Python são objetos estamos dizendo que tudo tem atributos e métodos e pode ser passado como uma variável ou como argumento para uma função. Tudo mesmo, incluindo os tipos primitivos, as funções e até os comentários do código. Suporta funcionalidades comuns na orientação a objetos: herança, herança múltipla, polimorfismo, reflexão e introspecção.

    Herança é quando uma classe é uma especialização da classe mãe.

    Herança múltipla é quando uma classe é filha de mais de uma classe-mãe. Isso é possível em Python.

    Polimorfismo é quando o método a ser executado depende da hierarquia de herança.

    Reflexão é quando é possível obter atributos de objetos passados como parâmetros de uma função.

    E introspecção é a possibilidade de saber o tipo de um objeto em tempo de execução.

  • De todas as linguagens mencionadas, a única que suporta herança múltipla é Python. Essa é uma característica importante do Python. Guarde isso.


ID
2745256
Banca
NUCEPE
Órgão
PC-PI
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere o texto a seguir sobre noções de linguagens de programação orientadas objetos:

Uma __I___ é uma estrutura que abstrai um conjunto de objetos com características similares, ou seja, descreve um grupo de objetos com propriedades semelhantes, com o mesmo comportamento, os mesmos relacionamentos com outros objetos e a mesma semântica. __II__ indicam as possíveis informações armazenadas por um objeto, representando o estado de cada objeto. __III__ são procedimentos que formam os comportamentos e serviços oferecidos por objetos de uma classe. Cada __IV__ é dito ser uma instância.

Marque a alternativa que preenche CORRETAMENTE as lacunas I, II, III e IV.

Alternativas
Comentários
  • Gabarito B

    Reescrevendo:

    Uma CLASSE é uma estrutura que abstrai um conjunto de objetos com características similares, ou seja, descreve um grupo de objetos com propriedades semelhantes, com o mesmo comportamento, os mesmos relacionamentos com outros objetos e a mesma semântica. ATRIBUTO indicam as possíveis informações armazenadas por um objeto, representando o estado de cada objeto. OPERAÇÃO são procedimentos que formam os comportamentos e serviços oferecidos por objetos de uma classe. Cada OBJETO é dito ser uma instância.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !


ID
2745259
Banca
NUCEPE
Órgão
PC-PI
Ano
2018
Provas
Disciplina
Programação
Assuntos

As afirmativas I referem-se a desenvolvimento web e as afirmativas II referem-se à programação orientada a objetos. Marque a única alternativa que traz as duas afirmativas INCORRETAS.

Alternativas
Comentários
  • Gabarito C

    Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação, assinatura, mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse.

     

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  •  c) Afirmativa I. Comparando: Servlet realiza a apresentação dos dados, enquanto JSP realiza o processamento dos dados.

                             Comentário: Incorreta,  acredito que os conceitos estão trocados, visto que JSP é para desenvolvimento de interfaces(apresentação de dados) de usuários baseadas em componentes para aplicação web;

    Afirmativa II. Polimorfismo tem por princípio a capacidade de abstrair várias implementações diferentes em várias interfaces.

                         Comentário:  Polimorfismo a capacidade abstrair várias implementações diferentes em UMA ÚNICA INTERFACE.

     

    Fonte: Principios de Análise e Projeto de Sistemas com UML - Eduardo Bezerra;

  • Não concordo com o gab. Os conceitos estão trocados. Acho que a alternativa B melhor responde.

  • JSP - é uma tecnologia que ajuda os desenvolvedores de software a criarem páginas web geradas dinamicamente baseadas em HTML, XML ou outros tipos de documentos.

    Servlet - O objetivo é basicamente é receber , processá-las e responder ao cliente


ID
2750047
Banca
COMPERVE
Órgão
SESAP-RN
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere o excerto a seguir.

Mecanismo de reutilização de código em que novas classes são definidas a partir de classes já existentes (superclasses), herdando alguns atributos e métodos e adicionando novos recursos que as novas classes (subclasses) exigem.

Esse excerto, de programação orientada a objetos, se refere

Alternativas
Comentários
  • A Herança é um recurso muito utilizado na POO para reutilização do código. Isso porque, esse modo de programar facilita muito ao programador para que o projeto fique pronto dentro do tempo estipulado.

  • Sem duvida que se refere a herança

  • Herança

    É o mecanismo da OO que permite criar novas classes a partir de classes já existentes, reutilizando seus atributos e comportamentos
    Benefícios
       ◦Reuso
       ◦Extensibilidade


ID
2752588
Banca
UFBA
Órgão
UNILAB
Ano
2014
Provas
Disciplina
Programação
Assuntos

O Software orientado a objetos (OO) é fundamentalmente diferente do software desenvolvido com o uso de métodos convencionais, e, em razão disso, métricas utilizadas para sistemas OO devem focalizar as características que distinguem o software OO do software convencional, como métricas orientadas a Classes.

Alternativas
Comentários
  • Certo.

    Descrição ipsi literis de [Pressmann 97].

     

    https://www.passeidireto.com/arquivo/4612662/qualidade-de-software

     

     

  • A programação orientada a objetos tem sua dinâmica voltada a definições de classes que estabelecem atributos e comportamentos de objetos relacionados a elas. Na programação estruturada a codificação é voltada a procedimentos e funções definidas pelo usuário.


ID
2756530
Banca
FAURGS
Órgão
BANRISUL
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere as afirmações abaixo sobre polimorfismo na linguagem de programação JAVA.


I - A vinculação tardia ocorre se o compilador escolher um método dentre os possíveis candidatos.

II - O polimorfismo indica o princípio de que o tipo real do objeto determina o método a ser chamado.

III - A vinculação antecipada ocorre se a escolha do método é feita quando o programa está sendo executado.


Quais estão corretas?

Alternativas
Comentários
  • Gabarito Letra B.

    No polimorfismo a decisão sobre qual o método que deve ser selecionado, de acordo com o tipo da classe derivada, é tomada em tempo de execução, através do mecanismo de ligação tardia. A ligação tardia ocorre quando o método a ser invocado é definido durante a execução do programa.

     

  • " indica o princípio de que o tipo real do objeto determina o método a ser chamado" até agora tentando traduzir o que o examinador quis dizer, entendo polimorfismo mas não com esse "linguajar"!

  • Conceito super confuso, ainda não apareceu banca pior para fazer questão que a  FAURGS.

  • I - A vinculação tardia ocorre se o compilador escolher um método dentre os possíveis candidatos. (conceito de vinculação antecipada).

    III - A vinculação antecipada ocorre se a escolha do método é feita quando o programa está sendo executado. (conceito de vinculação tardia)

    I e III estão com conceitos invertidos.

    l - Vinculação antecipada(ou tempo de execução).

    lll - Vinculação tardia(ou tempo de compilação).


ID
2756536
Banca
FAURGS
Órgão
BANRISUL
Ano
2018
Provas
Disciplina
Programação
Assuntos

Assinale a afirmativa correta sobre herança em JAVA.

Alternativas
Comentários
  • Sempre quando declaramos uma classe, essa classe é obrigada a herdar de outra. Isto é, para toda classe que declararmos, existe uma superclasse. Porém, criamos diversas classes sem herdar de ninguém:

    class MinhaClasse { }

     

    Quando o Java não encontra a palavra chave extends, ele considera que você está herdando da classe Object, que também se encontra dentro do pacote java.lang. Você até mesmo pode escrever essa herança, que é o mesmo:

    public class MinhaClasse extends Object { }

     

    Todas as classes, sem exceção, herdam de Object, seja direta ou indiretamente, pois ela é a mãe, vó, bisavó, etc de qualquer classe.

    Podemos também afirmar que qualquer objeto em Java é um Object, podendo ser referenciado como tal. Então, qualquer objeto possui todos os métodos declarados na classe Object e veremos alguns deles logo após o casting.

     

    https://www.caelum.com.br/apostila-java-orientacao-objetos/o-pacote-java-lang/#javalangobject

  • Obrigado Capitão John H. Miller

  • Quem não tem acesso:  - -> B

  • ===Letra A===

    Subclasses têm acesso aos campos privados da sua superclasse. (ERRADO)

    Somente a classe detentora de campos com visibilidade provado possuem acesso a esses campos.

    ===Letra B===

    Toda classe que não estenda especificamente uma outra classe é uma subclasse de Object. (CERTO)

    ===Letra C===

    Propriedades mais especializadas da hierarquia ficam em superclasses. (ERRADO)

    Propriedades mais especializadas da hierarquia ficam em subclasses

    ===Letra D===

    Subclasses herdam o comportamento e o estado da superclasse tanto na herança de classe quanto na de interface. (ERRADO)

    Interfaces não possuem comportamento somente os métodos que devem ser implementados nas classes que implementam a interface

    ===Letra E===

    Propriedades comuns a todas as classes da hierarquia ficam em subclasses. (ERRADO)

    Propriedades comuns a todas as classes da hierarquia ficam em superclasses


ID
2757121
Banca
FAURGS
Órgão
BANRISUL
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sobre classes de projeto em Projeto Orientado a Objetos, é correto afirmar que

Alternativas
Comentários
  • Gabarito E.

    classes de interface de usuário definem as abstrações necessárias para a interação humano-computador.


ID
2757124
Banca
FAURGS
Órgão
BANRISUL
Ano
2018
Provas
Disciplina
Programação
Assuntos

Uma dada classe VideoClipe de um software de edição de vídeo contém um conjunto de métodos para editar videoclipe. Contanto que cada método se concentre somente em atributos associados a videoclipe, qual característica de projeto orientado a objetos é mantida?

Alternativas
Comentários
  • Coesão está, na verdade, ligado ao princípio da responsabilidade única, que foi introduzido por Robert C. Martin no inicio dos anos 2000 e diz que uma classe deve ter apenas uma única responsabilidade e realizá-la de maneira satisfatória, ou seja, uma classe não deve assumir responsabilidades que não são suas . Uma vez sendo ignorado este princípio, passamos a ter problemas, como dificuldades de manutenção e de reuso.

     

     

    https://www.devmedia.com.br/entendendo-coesao-e-acoplamento/18538

  • COESÃO

     

    É a medida do quão fortemente relacionadas são as responsabilidades de um módulo
    Queremos ter classes
       ◦Com a menor complexidade possível
       ◦Com responsabilidades claramente definidas
       ◦Que não executam um grande volume de trabalho
    Queremos ter a máxima coesão possível

     

    Vantagens da COESÃO:

    Módulos de sistemas coesos são mais simples de se entender
    A manutenção do sistema torna-se mais fácil, pois as mudanças são isoladas apenas ao módulo que interessa
    A capacidade de reuso aumenta

     

    Fonte: Itnerante


ID
2763679
Banca
UFPR
Órgão
UFPR
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sobre conceito e implementação do mecanismo de herança, é correto afirmar:

Alternativas
Comentários
  • a) A linguagem Java não permite heranças múltiplas em suas classes utilizando a cláusula extends.

     

     b) Uma classe em PHP herda os recursos da classe pai ao utilizar o operador implements extends.

     

     c) Uma interface filha em PHP herda os recursos da interface pai através do operador implements.

                Como interface é uma especie de 'contrato' não há o que se falar em interface filha e interface pai! Acredito que foi adotada essa redação somente para confundir os candidatos com classe pai e classe conceitos de herança.

     

     d) A palavra-reservada super da linguagem Java é utilizada para uma classe pai acessar um recurso da classe filha.

         A palavra-reservada super da linguagem Java é utilizada para uma classe filha acessar um recurso da classe pai.   

     

     e)  Nas linguagens Java e PHP, utilizamos a palavra extends para criar subclasses de outras classes

          GABARITO DA QUESTÃO

  • A) Elimina de "CARA". Java NÃO pode ter HERANÇA MÚLTIPLA.

  • Complementando

    c) Uma interface filha em PHP herda os recursos da interface pai através do operador implements extends


ID
2768164
Banca
FAURGS
Órgão
TJ-RS
Ano
2018
Provas
Disciplina
Programação
Assuntos

Na Programação Orientada a Objetos, há vários conceitos que definem as características da metodologia. Dentre estes conceitos, há o conceito de Herança. Assinale a alternativa INCORRETA sobre o conceito de Herança.

Alternativas
Comentários
  • Atribuição é o processo de herança em que uma superclasse herda exclusivamente os atributos de uma subclasse. (FALSO, pois não existe esse conceito de "atribuição" em herança na programação orientada a objetos)

    GABARITO D


ID
2768248
Banca
FAURGS
Órgão
TJ-RS
Ano
2018
Provas
Disciplina
Programação
Assuntos

Em relação à programação orientada a objetos, assinale a afirmação correta.

Alternativas
Comentários
  • Encapsulamento: O encapsulamento é uma das principais técnicas que define a programação orientada a objetos. Se trata de um dos elementos que adicionam segurança à aplicação em uma programação orientada a objetos pelo fato de esconder as propriedades, criando uma espécie de caixa preta.

    Herança: O reuso de código é uma das grandes vantagens da programação orientada a objetos.

     

    https://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264

  • a) Objetos (de classes) são obtidas por instanciamento de Classes

    b) C++ e Python têm herança múltipla. Java e C# não têm. Ou seja, nada a ver

    c) C++ é orientada a objetos e é compilada para código de máquina

    d) certo

    e) Linguagens como Ruby e Smalltalk realmente não têm tipos primitivos pois são 100% orientadas a objetos. Mas Java, C++, e etc têm tipos primitivos e são orientadas a objetos também


ID
2777686
Banca
CCV-UFS
Órgão
UFS
Ano
2014
Provas
Disciplina
Programação
Assuntos

Em POO (Programação Orientada a Objetos) a implementação do comportamento dos objetos é especificado, na classe, através da definição de

Alternativas
Comentários
  • Quando falar em comportamento, lembre-se dos métodos.


ID
2779249
Banca
UECE-CEV
Órgão
Funceme
Ano
2018
Provas
Disciplina
Programação
Assuntos

Atente para as seguintes afirmações e assinale a que for verdadeira.

Alternativas
Comentários
  • Com a sobrescrita, conseguimos especializar os métodos herdados das superclasses, alterando o seu comportamento nas subclasses por um mais específico.

    A sobrescrita de métodos consiste basicamente em criar um novo método na classe filha contendo a mesma assinatura e mesmo tipo de retorno do método sobrescrito.

    Quando mencionado anteriormente que o método deve possuir a mesma assinatura, significa dizer que o método deve possuir o mesmo nome, a mesma quantidade e o mesmo tipo de parâmetros utilizado no método sobrescrito.

  • cuidado com esse caso de assinatura pois pode barrar na sobrecarga.

  • Orientação a objetos pode ser considerada uma tecnologia que define os sistemas como uma coleção de objetos e suas funcionalidades. Esta tecnologia permite reusabilidade. É pautada nos princípios de abstração, hierarquização, encapsulamento, classificação,modularização, relacionamento, simultaneidade e persistência.

  • Alternativa correta: A.


    b) ERRADA: não pode ter mais de uma classe pai;

    c) ERRADA: acho que o correto neste caso seria package, e não private. O private não permite acessos externos;

    d) ERRADA: isso simplesmente não é possível.

  • LETRA A


    Luis Henrique Forchesatto nesse caso o correto seria o PROTECTED, que dá acesso à classe, à subclasse e ao pacote. O PACKAGE dá acesso somente ao pacote e à classe, e a subclasse fica de fora.


ID
2789446
Banca
CCV-UFC
Órgão
UFC
Ano
2016
Provas
Disciplina
Programação
Assuntos

Em programação orientada a objetos, em que consiste a sobrecarga de métodos?

Alternativas
Comentários
  • A semana incompleta começa na quarta e termina na quina. Você ganha 1 bomba na quarta e não na sexta.


ID
2789575
Banca
CCV-UFC
Órgão
UFC
Ano
2016
Provas
Disciplina
Programação
Assuntos

Na orientação a objetos no Java, quando se tem um método herdado que tem seu comportamento alterado afim de torná-lo mais específico mantendo a sua mesma assinatura, tem-se a característica de:

Alternativas
Comentários
  • Quem não tem acesso: --> A

  • A sobrescrita (ou override) está diretamente relacionada à orientação a objetos, mais especificamente com a herança. Com a sobrescrita, conseguimos especializar os métodos herdados das superclasses, alterando o seu comportamento nas subclasses por um mais específico.

    A sobrescrita de métodos consiste basicamente em criar um novo método na classe filha contendo a mesma assinatura e mesmo tipo de retorno do método sobrescrito.

    Fonte: https://www.devmedia.com.br/sobrescrita-e-sobrecarga-de-metodos-em-java/22603

  • Essa questão tinha que ser anulada pois tem duas resposta. É tanto a alternativa A quanto a alternativa C, uma ver que a sobrescrita ou sobreposição é um tipo de polimorfismo. Logo, é um polimorfismo.

  • Annie Rafaela, 

     

    Não acho que deveria ser anulada, o polimorfismo é um conceito amplo, e tanto sobrescrita quanto sobreposição são tipos de polimorfismo. O enunciado diz respeito à sobrescrita.

    .

    .

    At.te

    Foco na missão 


ID
2789653
Banca
CCV-UFC
Órgão
UFC
Ano
2016
Provas
Disciplina
Programação
Assuntos

Com relação ao paradigma orientado a objetos, marque o item correto.

Alternativas
Comentários
  • Gabarito está C, mas isso seria abstração, não?

  • Encapsulament é a técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos para os objetos. Por conta dessa técnica, o conhecimento a respeito da implementação interna da classe é desnecessário do ponto de vista do objeto, uma vez que isso passa a ser responsabilidade dos métodos internos da classe.

    fonte: https://www.devmedia.com.br/conceitos-encapsulamento-programacao-orientada-a-objetos/18702

  • Também descordaria do gabarito.

  • Aspectos não relevantes????

  • As questões de programação são as mais mal feitas da área de TI. Só acertei porque as outras alternativas não tinham nexo nenhum.

  • Encapsulamento é a técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos para os objetos. 

    Letra C

    Força e fé!

  • A resposta é C, porém acredito que está mal escrita.

    Não precisam ser "aspectos não relevantes dos objetos", digamos que sejam informações sensíveis do projeto, é muito relevante e deve se manter encapsulado.


ID
2791369
Banca
CCV-UFC
Órgão
UFC
Ano
2013
Provas
Disciplina
Programação
Assuntos

Com relação aos conceitos de programação orientada a objetos, é correto afirmar que:

Alternativas
Comentários
  • Quem não tem acesso: --> B

  • Cada classe determina o comportamento (definido nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.

    Fonte: https://pt.wikipedia.org/wiki/Orienta%C3%A7%C3%A3o_a_objetos


ID
2791372
Banca
CCV-UFC
Órgão
UFC
Ano
2013
Provas
Disciplina
Programação
Assuntos

Com relação aos conceitos de programação orientada a objetos, é correto afirmar que:

Alternativas
Comentários
  • Quem não tem acesso: --> D

  • orientação a objetos contrasta com a programação estruturada, na qual a estrutura de dados e o comportamento são fracamente conectados;

    fonte: https://morettic.com.br/wp2/poo/poo-encapsulamento/


ID
2791375
Banca
CCV-UFC
Órgão
UFC
Ano
2013
Provas
Disciplina
Programação
Assuntos

Com relação aos conceitos de programação orientada a objetos, um objeto é:

Alternativas
Comentários
  • Quem não tem acesso: --> A


  • Em programação orientada a objetos, chama-se instância de uma classe, um objeto cujo comportamento e estado são definidos pela classe. "Instância" é, neste caso, um anglicismo, significando "caso" ou "exemplo" (em inglês instance).

    Fonte: https://pt.wikipedia.org/wiki/Inst%C3%A2ncia_(classe)


ID
2791378
Banca
CCV-UFC
Órgão
UFC
Ano
2013
Provas
Disciplina
Programação
Assuntos

Com relação aos conceitos de programação orientada a objetos, pode-se afirmar que:

Alternativas
Comentários
  • Quem não tem acesso: --> D

  • O construtor é um método utilizado para inicializar os objetos da classe quando estes são criados.

    Este método possui o mesmo nome da Classe e não tem nenhum tipo de retorno, nem mesmo void.

    No construtor podemos iniciar todos os outros objetos e propriedades, ele será sempre chamada ao iniciar o objeto.

    http://techblog.desenvolvedores.net/tag/construtores-e-destrutores/

  • o que torna a "E" errada?

  • Ronny, o que torna a E errada é o fato de um construtor inicializar os valores das variáveis de instância (dos Objetos), não da Classe (Variáveis estáticas).


ID
2791429
Banca
CCV-UFC
Órgão
UFC
Ano
2013
Provas
Disciplina
Programação
Assuntos

Na programação orientada a objetos, a possibilidade de haver mais de um método com o mesmo nome na mesma classe denomina-se:

Alternativas
Comentários
  • Letra C

    Ligação tardia (late binding) = redefinição de métodos = sobreposição ou sobrescrita!!!

    Lembrando que este polimorfismo acima ocorre necessariamente entre classes pai e filha.


    A sobrecarga pode ocorrer dentro da mesma classe, desde que seus métodos apresentem diferentes assinaturas.


ID
2791432
Banca
CCV-UFC
Órgão
UFC
Ano
2013
Provas
Disciplina
Programação
Assuntos

Com base nos conceitos da programação orientada a objetos, assinale a alternativa correta.

Alternativas

ID
2805490
Banca
CS-UFG
Órgão
Câmara de Goiânia - GO
Ano
2018
Provas
Disciplina
Programação
Assuntos

Em programação orientada a objetos, se a classe Y estende a classe X enquanto a classe Z estende a classe Y, então

Alternativas
Comentários
  • Na Programação Orientada a Objetos o significado de herança tem o mesmo significado para o mundo real. Assim como um filho pode herdar alguma característica do pai, na Orientação a Objetos é permitido que uma classe herde atributos e métodos da outra, tendo apenas uma restrição para a herança. Os modificadores de acessos das classes, métodos e atributos só podem estar com visibilidade public e protected para que sejam herdados.


    https://www.devmedia.com.br/abstracao-encapsulamento-e-heranca-pilares-da-poo-em-java/26366

  • Alternativa correta: C.


    Desenhando o que o comando da questão traz, temos o seguinte: X -> Y -> Z


    Sendo assim, a única correta é a letra C.

  • Acredito que o conceito correto seria "Z é uma subclasse de Y". Herança não se refere à classe em si, mas ao mecanismo de reuso de código entre classes. Dizer que uma Z "é uma herança" de Y é esquisito rsrsrs.


ID
2810965
Banca
COPS-UEL
Órgão
UEL
Ano
2015
Provas
Disciplina
Programação
Assuntos

Assinale a alternativa que apresenta, corretamente, o conceito de programação orientada a objetos que promove a reutilização de software.

Alternativas
Comentários
  • Alternativa correta: B.


    A Herança faz com que subclasses herdem métodos e atributos, sem a necessidade de reescrevê-los, daí a reutilização de software.


ID
2821513
Banca
COMPERVE
Órgão
UFRN
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considere a situação em que uma classe A é superclasse das classes B e C e que, tanto B quanto C possuem um método M com a mesma assinatura e código. Nessa situação, a operação de refatoração (refactoring) de código mais apropriada a ser aplicada é 

Alternativas
Comentários
  • Pull up method.

    Problema - Suas subclasses possuem métodos que realizam trabalhos semelhantes.

    Solução - Torne os métodos idênticos e, em seguida, mova-os para a superclasse relevante.

  • Refatoração : Subir Método (Pull Up Method)

    Quando duas subclasses possuem o mesmo método, então o método deve ser movido para a superclasse.

  • Pior que não. Mas obrigada por tentar.


ID
2852914
Banca
CESPE / CEBRASPE
Órgão
BNB
Ano
2018
Provas
Disciplina
Programação
Assuntos

Considerando os conceitos de análise e projeto orientados a objetos, julgue o item subsecutivo.


De acordo com os padrões GRASP, a função do low coupling é garantir que o acoplamento entre classes ou entidades permaneça fraco, de forma a permitir a maior reutilização possível.

Alternativas
Comentários
  • Padrões GRASP

    Padrões

    – Expert – Creator – Controller – Low Coupling – High Cohesion – Polymorphism – Pure Fabrication – Indirection – Don’t Talk to Strangers


    Problema

    Como minimizar dependências e maximizar o reuso?

    O acoplamento é uma medida de quão fortemente uma classe está conectada, possui conhecimento ou depende de outra classe

    Com fraco acoplamento, uma classe não é dependente de muitas outras classes

    Com uma classe possuindo forte acoplamento, temos os seguintes problemas:

    Mudanças a uma classe relacionada força mudanças locais à classe

    A classe é mais difícil de entender isoladamente

    A classe é mais difícil de ser reusada, já que depende da presença de outras classes

    Solução

    Atribuir responsabilidades de forma a minimizar o acoplamento



    FONTE

    http://www.dsc.ufcg.edu.br/~jacques/cursos/apoo/html/proj1/proj5.htm

    http://www2.ic.uff.br/~leomurta/courses/2008.2/es1/aula13.pdf

  • Baixo acoplamento


    O acoplamento é uma medida de quão forte um elemento está conectado, tem conhecimento ou depende de outros elementos. O baixo acoplamento é um padrão de avaliação que determina como atribuir responsabilidades de suporte:

    menor dependência entre as classes, mudança em uma classe com menor impacto em outras, maior potencial de reutilização.


  • Os padrões GRASP englobam uma série de princípios baseados em conceitos de Orientação a Objetos. Partindo de análises que procuram definir quais as obrigações dos diferentes tipos de objetos em uma aplicação, estes patterns disponibilizam uma série de recomendações que procuram favorecer a obtenção de sistemas melhor estruturados.

    Ao todo são nove os padrões GRASP:

    · Criador (Creator);

    · Especialista na Informação (Information Expert);

    · Baixo Acoplamento (Low Coupling);

    · Alta Coesão (High Cohesion);

    · Controlador (Controller);

    · Polimorfismo (Polymorphism);

    · Fabricação/Invenção Pura (Pure Fabrication);

    · Indireção (Indirection);

    · Variações Protegidas (Protected Variations).

    O acoplamento significa o quanto uma classe depende da outra para funcionar.

    Quanto mais baixo melhor, isto é, quanto menos "amarradas" as classes menor o acoplamento.


ID
2858662
Banca
UFES
Órgão
UFES
Ano
2018
Provas
Disciplina
Programação
Assuntos

O polimorfismo permite escrever programas com objetos que compartilham, direta ou indiretamente, a mesma superclasse, como se todos fossem objetos da superclasse. A linguagem Java provê vários recursos, como a declaração de métodos com o modificador final. Sobre um método final em Java, é INCORRETO afirmar:

Alternativas
Comentários
  • A instrução final indica que a classe, método ou variável assim declarada têm uma única atribuição que se mantém constante, ou seja, não pode ser alterada no decorrer do processamento.

    Além de não admitir a criação de classes filhas.

    Este modificador declara o que chamamos, em programação, de .

  • b) As chamadas do método final são resolvidas em tempo de compilação, por meio de vinculação estática.

    .

    At.te

    Foco na missão


ID
2858800
Banca
CCV-UFC
Órgão
UFC
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sobre a Programação Orientada a Objetos em Java, assinale o correto.

Alternativas
Comentários
  • a) O método main não pode ser sobrescrito. Correto, afinal é public static void main , se é statica NÃO PODE SER SOBRESCRITO.

    .

    b) Classes abstratas(não) podem ser instanciadas.

    .

    c) Uma interface deve fornecer a assinatura dos métodos e opcionalmente alguma implementação.

    . Alternativa pelo qual a banca inválidou a questão. Java 7 e anterioes: INTERFACE NÃO PODE POSSUI IMPLEMENTAÇÃO. JAVA 8: interface opcionalmente permite implementação através dos métodos default

    .

    d) Quando dois métodos com o mesmo nome, porém argumentos diferentes, existem na mesma classe chamamos de sobrescrita(sobrecarga) de método.

    .

    e) Quando uma subclasse declara um método que possui a mesma assinatura e mesmo tipo de retorno que um método declarado em sua superclasse, chamamos de sobrecarga (sobrescrita) de método.

    ATUALIZAÇÃO

    Colega Othon, o que você está fazendo seria OCULTAMENTO em java ( Hiding) e não sobrescrita(Overriding). Acredito que o colega seja um programador Pleno, ou até mesmo um programador Sênior, em Java, porém para questões de provas de concursos temos que ter embasamento bibliográfico para resolução das questões.

    .

    Conforme o livro Certificação Java 6 - Volume 2 - Prática - RUBINSTEIN :

    Métodos static podem ser escondidos por subclasses, mas não sobrescritos.

    .

    Diferença entre Hiding e Overriding( Leitura avançada sobre Programação, dificilmente cairá isto em prova - Texto em inglês)

    https://crunchify.com/java-method-hiding-and-overriding-override-static-method-in-java/

  • letra (a) está errada. Métods estáticos (STATIC) podem ser sobrescrito.

    Exemplo 2:

    Classe estática significa que o método pode ser chamado sem que a classe seja instanciada em um objeto.

    Isso é útil para a classe principal (em Java), a classe MAIN, que é a primeira a ser EXECUTADA.

    Os métodos ou classes do tipo STATIC são/estão acessíveis diretamente pela classe, não precisam ser instanciados, ou seja , não precisa fazer o NEW: Aluno joao new = Aluno(), para as classes, ou seja pode usar os métodos dessa classe, como é normalmente feito em um contexto de POO.

    Portanto o código a seguir correto, método do tipo STATIC sendo sobrescrito .

    Experimente em seu computador.

    package testeprogramacao;

    /**

     *

     * @author otluix

     */

    // filename TesteProgramacao.java

    public class TesteProgramacao {

     

      public static void foo() { System.out.println("Test.foo() called ");  } // assinatura do método foo()

      public static void foo(int a) {  System.out.println("Test.foo(int) called ");  } // sobrescrita (overload) do foo()

      public static void main(String[] args) {

        TesteProgramacao.foo();

        TesteProgramacao.foo(10);

      }

    }

    Output do programa a anterior:

    Test.foo() called 

    Test.foo(int) called

  • letra (a) está errada. Métodos estáticos (STATIC) podem sim serem sobrescrito.

    Exemplo 1:

    Sobrescrita do método principal (MAIN):

    public class TesteMain {

      public static void main(String arg1) { System.out.println("Mundo"); }

      public static void main(String arg1, String[] arg2) { System.out.println("Olá, Mundo!!"); }

    public static void main(String[] args) {

    System.out.println("Olá");

    TesteMain.main("segunda linha"}

    TesteMain.main("terceira", "linha"}

    }

    Output do programa acima:

    Olá

    Mundo

    Olá, Mundo!!

    Os métodos STATIC VOID MAIN foram todos executados, contudo, os métodos foram sobrescrito.

    $ javac --version

    javac 11.0.2

  • eu iria errar pois estou estudando c# e lá não permite que interface implemente a interface

ID
2859388
Banca
Marinha
Órgão
CAP
Ano
2018
Provas
Disciplina
Programação
Assuntos

Segundo Deitei (2010), uma das principais características da Programação Orientada a Objetos é a herança. Assinale a opção que não apresenta uma característica de herança em Java.

Alternativas
Comentários
  • • A herança reduz o tempo de desenvolvimento de programas.

    • A superclasse direta de uma subclasse é aquela a partir da qual a subclasse é herdada. A superclasse indireta de uma subclasse está dois ou mais níveis acima da hierarquia de classe dessa subclasse.

    • Na herança única, uma classe deriva de uma superclasse. Na herança múltipla, uma classe é derivada de mais de uma superclasse direta. O Java não suporta herança múltipla.

    • Uma subclasse é mais específica que sua superclasse e representa um grupo menor de objetos.

    • Cada objeto de uma subclasse também é um objeto da superclasse dessa classe. Entretanto, um objeto de superclasse não é um objeto de subclasses de sua classe.

    • Um relacionamento é um representa a herança. Em um relacionamento é um, um objeto de uma subclasse também pode ser tratado como um objeto de sua superclasse.

    • Um relacionamento tem um representa composição. Em um relacionamento tem um, um objeto de classe contém referências a objetos de outras classes.

    GABARITO D.

  • E a herança múltipla?

  • O Java não suporta herança múltipla.

  • O famoso "Diamante da Morte".


ID
2876611
Banca
FCM
Órgão
IFN-MG
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sobre as afirmativas abaixo, relacionadas aos conceitos da programação orientada a objetos, é correto afirmar que ao

Alternativas
Comentários
  • O modificador de acesso "private" quando aplicado a um atributo ou a um método indica que os mesmos só podem ser acessados de dentro da classe que os criou (encapsulamento). 

    A instrução protected indica que o método ou a variável assim declarada possa ser acessada somente dentro do pacote em que está contida através de uma subclasse.

    A instrução public indica que a classe, método ou variável assim declarada possa ser acessada em qualquer lugar e a qualquer momento da execução do programa.

  • Abstract

    Esse modificador não é aplicado nas variáveis, apenas nas classes. Uma classe abstrata não pode ser instanciada, ou seja, não pode ser chamada pelos seus construtores. Se houver alguma declaração de um método como abstract (abstrato), a classe também deve ser marcada como abstract.

    Static

    É usado para a criação de uma variável que poderá ser acessada por todas as instâncias de objetos desta classe como uma variável comum, ou seja, a variável criada será a mesma em todas as instâncias e quando seu conteúdo é modificado numa das instâncias, a modificação ocorre em todas as demais. E nas declarações de métodos ajudam no acesso direto à classe, portanto não é necessário instanciar um objeto para acessar o método.

  • a) classe abstrata não pode ser instanciada

    b) static serve pra justamente poder acessar métodos/atributos sem precisar instanciar a classe


ID
2909989
Banca
UFSC
Órgão
UFSC
Ano
2019
Provas
Disciplina
Programação
Assuntos

A respeito da Programação Orientada a Objetos, analise as afirmativas abaixo e assinale a alternativa correta.


I. Na definição de uma classe é possível não especificar atributos.

II. Durante a execução de um programa, o número de objetos instanciados deve ser igual ao de classes definidas.

III. Toda classe é superclasse de pelo menos uma subclasse.

Alternativas
Comentários
  • I. Na definição de uma classe é possível não especificar atributos.

    Correta

     

     

    II. Durante a execução de um programa, o número de objetos instanciados deve ser igual ao de classes definidas.

    Errada. Não necessariamente

     

    III. Toda classe é superclasse de pelo menos uma subclasse.

    Errada.   Toda classe é subclasse de uma superclasse Correta

  • GABARITO: E.

    I. Na definição de uma classe é possível não especificar atributos. CERTO. Como exemplos, as interfaces são classes completamente abstratas, não podem ser instanciadas e possuem apenas métodos.

    II. Durante a execução de um programa, o número de objetos instanciados deve ser igual ao de classes definidas. ERRADO. A classe pode definida, mas não necessariamente ter um objeto instanciado na execução do programa. Além disso, temos as classe abstratas, que não podem ser instanciadas, apenas implementadas, como as interfaces.

    III. Toda classe é superclasse de pelo menos uma subclasse. ERRADO.


ID
2909992
Banca
UFSC
Órgão
UFSC
Ano
2019
Provas
Disciplina
Programação
Assuntos

Assinale a alternativa que represente a definição do conceito de herança existente na Programação Orientada a Objetos.

Alternativas
Comentários
  • O termo "somente" já deixa as alternativas totalmente erradas! Letras b e c fora.

     d) Atributos e métodos definidos em uma classe estão automaticamente definidos na superclasse dessa classe.

    Errada. O correto é definidos na subclasse

     

    e) Classes que estão no mesmo nível em uma hierarquia de classes herdam atributos e métodos umas das outras. 

    Errada. 

  • Gabarito A

    herança é um princípio próprio à programação orientada a objetos (POO) que permite criar uma nova classe a partir de uma já existente. O nome herança, também chamada de subclasses, provém do fato de que a subclasse (a classe recém-criada) contém atributos e métodos da classe primária (da qual deriva). A principal vantagem da herança é a capacidade para definir novos atributos e métodos para a subclasse, que se somam aos atributos e métodos herdados.

    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !

  • Questão deveria ser anulada, pois o correto seria:

    Atributos e métodos não privados (private), definidos em uma classe estão automaticamente definidos nas subclasses dessa classe.

  • A alternativa até está correta, porém a banca deveria se atentar à questões de encapsulamento para fazer tal afirmação... Por ser a mais correta: A.

  • Gabarito menos errado...

  • O gabarito tá OK.

    TODOS os atributos e métodos do pai são definidos na subclasse. Se for privado, você consegue visualizar ao debugar, só não consegue acessar... mas estão lá


ID
2917669
Banca
FAPEC
Órgão
UFMS
Ano
2018
Provas
Disciplina
Programação
Assuntos

No paradigma de Programação Orientada a Objetos, Polimorfismo pode ser descrito como:

Alternativas
Comentários
  • Gabarito C

    Na programação orientada a objetos, o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. Assim, é possível tratar vários tipos de maneira homogênea (através da interface do tipo mais abstrato). O termo polimorfismo é originário do grego e significa "muitas formas" (poli = muitas, morphos = formas).

    O polimorfismo é caracterizado quando duas ou mais classes distintas têm métodos de mesmo nome, de forma que uma função possa utilizar um objeto de qualquer uma das classes polimórficas, sem necessidade de tratar de forma diferenciada conforme a classe do objeto.

    Uma das formas de implementar o polimorfismo é através de uma classe abstrata, cujos métodos são declarados mas não são definidos, e através de classes que herdam os métodos desta classe abstrata.

    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !

  • Pq a 'E' tbm não estaria certa?

  • A alternativa 'e' está errada porque restringe o conceito.

  • Guilherme, creio que a lera E é o conceito de sobrecarga.

  • O nome do método acrescido de seus parâmetros é denominado assinatura do

    método.

  • A alternativa E está conceituando a sobrecarga de método (overload).

  • Será que essa questão não é passível de anulação? Sobrecarga é um tipo de polimorfismo!

  • Sobrecarga é uma modalidade de polimorfismo.

  • Se tiver sobrescrita e sobrecarga na mesma questão sobre polimorfismo, considere a sobrescrita como a alternativa "mais correta".


ID
2926567
Banca
Quadrix
Órgão
CRA-PR
Ano
2019
Provas
Disciplina
Programação
Assuntos

Julgue o item quanto à programação orientada a objetos e à linguagem de programação Python.


O encapsulamento permite atualizar um componente, fornecendo uma implementação mais eficiente, ou até mesmo corrigir erros, sem a necessidade de tocar nos outros objetos do programa.

Alternativas
Comentários
  • Gabarito Certo

    Algumas definições comuns de encapsulamento: 

    1. Encapsulamento é o processo de esconder todos os detalhes de um objeto que não contribuem para as suas características essenciais.

    2. Encapsulamento é um princípio, utilizando quando se está desenvolvendo a estrutura geral de um programa, no qual cada componente de um programa deve encapsular ou esconder cada decisão de projeto. A interface com cada módulo é definida de forma a revelar o mínimo possível sobre o seu funcionamento interno.

    3. O encapsulamento esconde detalhes de implementação do objeto (métodos) e o que sobra visível é a sua interface, isto é, o conjunto de todas as mensagens a que ele pode responder. Uma vez que o objeto é encapsulado, seus detalhes de implementação não são mais imediatamente acessíveis. Ao invés disso, eles são empacotados e são somente indiretamente acessíveis através da interface do objeto. A única forma de acessar a um objeto encapsulado é através da troca de mensagens: é enviada uma mensagem ao objeto, o objeto mesmo seleciona o método pelo qual ele irá reagir à mensagem.

    "Retroceder Nunca Render-se Jamais !"

    Força e Fé !

    Fortuna Audaces Sequitur !

     

  • Um dos benefícios do encapsulamento é a Ocultação de Informações: um objeto possui interface pública que outros objetos podem utilizar para comunicarem-se com ele, mas o objeto pode manter informações privadas e métodos podem ser modificados em qualquer momento sem afetar os outros objetos que dependem dele.

    Gabarito: Certo

  • no final todo sofrimento vai valer a pena...

ID
2959150
Banca
UFMA
Órgão
UFMA
Ano
2019
Provas
Disciplina
Programação
Assuntos

Duas características importantes e relacionadas entre si, presentes em Java por ser uma linguagem orientada a objetos, são a herança e o polimorfismo. Considere as afirmativas I e II a seguir e depois marque a alternativa correta.

I. Herança múltipla é um recurso existente em Java para permitir que uma classe possa herdar atributos e métodos de mais de uma classe.

II. Polimorfismo em Java é a capacidade de duas ou mais classes derivadas de uma mesma superclasse possuírem a mesma assinatura de um método, porém com comportamento diferente.

Alternativas
Comentários
  • Herança múltipla não existe em Java! Nenhuma classe pode herdar de mais de uma classe.

    A afirmativa 2 está correta sobre o polimorfismo.

  • Herança múltipla não existe em Java! Nenhuma classe pode herdar de mais de uma classe.

    A afirmativa 2 está correta sobre o polimorfismo.

  • Herança múltipla existe no Java 8.

  • CORREÇÃO AO COLEGA ABAIXO, NÃO EXISTE HERANÇA MÚLTIPLA EM JAVA 8!!

    O que existe é a interface default methods, que é através de interface e não de classes! Embora default methods solucione as duas capacidades de herança múltipla( 1- Capacidade de polimorfismos; 2) capacidade de reutilização) tais métodos não são reconhecidos como herança múltipla e sim como INTERFACE!

    Vejam a documentação oficial: https://docs.oracle.com/javase/tutorial/java/IandI/defaultmethods.html

    GABARITO ALTERNATIVA A

  • Eu acho essa questão muito questionável, uma vez que existe Polimorfismo do tipo de Sobrecarga (onde os métodos tem ASSINATURAS DIFERENTES). Acho que a afirmação de II está descrevendo Sobrescrita, que tb é um tipo de polimorfismo.
  • Ao realizar um comentário, é importante citar a fonte. E para aqueles que não tem conhecimento sobre o tema, se abstenha de realizar comentários imprecisos e sem fundamentação teórica.

  • ⦁ Herança múltipla é um recurso existente em Java para permitir que uma classe possa herdar atributos e métodos de mais de uma classe.

    A definição de herança múltipla está correta. Mas o erro desta afirmativa é dizer que esse recurso de herança múltipla existe em Java. Na verdade, Java não suporta herança múltipla. Afirmativa Falsa.

    ⦁ Polimorfismo em Java é a capacidade de duas ou mais classes derivadas de uma mesma superclasse possuírem a mesma assinatura de um método, porém com comportamento diferente.

    Verdadeiro

    Portanto, apenas a afirmativa II está correta. Gabarito letra A.

    Resposta: A


ID
2975680
Banca
FUNDEP (Gestão de Concursos)
Órgão
Prefeitura de Lagoa Santa - MG
Ano
2019
Provas
Disciplina
Programação
Assuntos

Há um recurso em programação que permite que dois métodos tenham o mesmo nome, sendo que a escolha da execução de um ou de outro será feita em tempo de execução conforme os parâmetros que são passados para o método.

Qual é o nome desse recurso?

Alternativas
Comentários
  • Questão deve se anulada. A resposta correta sobrescrita (overriding).

  • Na verdade, o conceito sobre sobrecarga (overload) está correto!

    "... dois métodos tenham o mesmo nome, sendo que a escolha da execução de um ou de outro será feita em tempo de execução conforme os parâmetros que são passados para o método.. "

    exemplo: Em uma classe calculadora, existe o método calcular (), onde o mesmo pode receber vários argumentos, de acordo com o que se quer calcular

     public int calcula(int a,int b){

        return a+b;

     }

     public double calcula(double a,double b){

        return a+b;

     }

    Mesmo método, porém com assinaturas diferentes. Argumentos de acordo com o que deseja ser executado

    O conceito de sobrescrita (override) consiste em a implementação do mesmo método, com a mesma assinatura, retorno e tipo de dado, porém de forma diferente.

  • Tempo de execução = sobrescrita

    Tempo de compilação = sobrecarga

    Questão passível de recurso.

  • A sobrecarga não precisa aguardar até o tempo de execução.


ID
2975686
Banca
FUNDEP (Gestão de Concursos)
Órgão
Prefeitura de Lagoa Santa - MG
Ano
2019
Provas
Disciplina
Programação
Assuntos

Qual é a forma correta de se criar uma classe que não poderá ser instanciada, mas ainda poderá ser reutilizada?

Alternativas
Comentários
  • Classes abstratas funcionam como um "arquétipo ou modelo" para outras classes, elas não podem ser instanciadas por si só. Para se ter um objeto de uma classe abstrata instanciado é preciso criar uma classe mais especializada aplicando-se nesse caso o conceito de herança.

  • E ai, tudo bom?

    Gabarito: A

    Bons estudos!

    -As pessoas costumam dizer que a motivação não dura sempre. Bem, nem o efeito do banho, por isso recomenda-se diariamente. – Zig Ziglar


ID
2983954
Banca
Aeronáutica
Órgão
CIAAR
Ano
2019
Provas
Disciplina
Programação
Assuntos

Os applets possuem métodos que representam as fases mais importantes na sua vida.

A respeito dos métodos de uma applet, avalie as afirmações a seguir.


I. destroy() que é a fase terminal de uma applet.

II. main() que determina o comportamento de uma applet.

III. init() que representa a fase em que a applet é, pela primeira vez, carregada.

IV. start() que ocorre a seguir à inicialização ou, então, depois de a applet ter sofrido uma paragem.


Está correto apenas o que se afirma em

Alternativas
Comentários
  • Os applets possuem 4 métodos que definem o seu ciclo de vida:

    Fonte: https://www.inf.pucrs.br/flash/lapro2/aula_applets.html

  • 4 são os métodos que definem o ciclo de vida de uma applet:

    init( ) - inicialização; chamado quando a applet é inicialmente carregada;

    start( ) - execução (animação); chamado após o init( );

    stop( ) - interrupção; faz a applet parar a execução da animação, áudio ou vídeo;

    destroy( ) - liberação de recursos; chamado quando o browser é fechado.

    Gabarito D


ID
2992228
Banca
Aeronáutica
Órgão
EEAR
Ano
2019
Provas
Disciplina
Programação
Assuntos

Indique a opção que completa corretamente a lacuna da assertiva a seguir.


“Considerando-se as definições de herança na programação orientada a objetos, um método ou atributo _______________ é simplesmente herdado de uma classe progenitora.”

Alternativas
Comentários
  • RECURSIVO - apenas herda, sem acrescentar nada e nem modificar

    nova -> adiciona um método ou atributo novo

    sobreposta - > melhorando um método ou atributo já existente.

  • Recursivo = um método que pode ser repetido.


ID
2992318
Banca
Aeronáutica
Órgão
EEAR
Ano
2019
Provas
Disciplina
Programação
Assuntos

Com relação à Programação orientada a objetos, marque V para verdadeiro ou F para falso. Em seguida, assinale a alternativa com a sequência correta.


( ) Os objetos se comunicam uns com os outros através de mensagens.

( ) Uma variável interna é um comportamento mantido dentro de um objeto.

( ) Um objeto é uma construção de software que encapsula estado e comportamento.

( ) O domínio é o conjunto de conceitos que representam aspectos importantes do problema que um desenvolvedor precisa resolver.

Alternativas
Comentários
  • GABARITO: B

    (V) Os objetos se comunicam uns com os outros através de mensagens. (Um programa orientado a objetos é composto por um conjunto de objetos que interagem através de "trocas de mensagens". Na prática, essa troca de mensagem traduz-se na invocação de métodos entre objetos.)

    (F) Uma variável interna é um comportamento mantido dentro de um objeto. (Comportamento no caso refere-se a métodos)

    (V) Um objeto é uma construção de software que encapsula estado e comportamento.

    (V) O domínio é o conjunto de conceitos que representam aspectos importantes do problema que um desenvolvedor precisa resolver. (Um objeto é um elemento computacional que representa, no domínio da solução, alguma entidade (abstrata ou concreta) do domínio de interesse do problema sob análise)

    Foco na Missão!

  • O estado de um objeto é um conjunto de variáveis internas.

  • Pra quem tiver dúvida:

    https://www.youtube.com/watch?v=QJjY2TNyl-8


ID
3004798
Banca
INAZ do Pará
Órgão
CORE-SP
Ano
2019
Provas
Disciplina
Programação
Assuntos

“O desenvolvimento de software é extremamente amplo. Nesse mercado, existem diversas linguagens de programação, que seguem diferentes paradigmas. Um desses paradigmas é a Orientação a Objetos, que atualmente é o mais difundido entre todos. Isso acontece porque se trata de um padrão que tem evoluído muito, principalmente em questões voltadas para segurança e reaproveitamento de código, o que é muito importante no desenvolvimento de qualquer aplicação moderna.”

Disponível em: https://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264/. Acesso em: 17.11.2018


Considere o programa abaixo escrito na linguagem Java:


Public class veículo {}

Public class carro extends veículo {}

Public class avião extends veículo {}


Qual a afirmativa correta?

Alternativas
Comentários
  • Classe Veículo ➔ Superclasse (Mãe)

    Classes Carro e Avião ➔ Subclasses (filhas).

     

    ⁂ Atenção !!!!! Em java, não há herança múltipla

    .

    .

    At.te

    Foco na missão 

  • Oi!

    Gabarito: C

    Bons estudos!

    -O sucesso é a soma de pequenos esforços repetidos dia após dia.


ID
3007843
Banca
Marinha
Órgão
Quadro Técnico
Ano
2019
Provas
Disciplina
Programação
Assuntos

Segundo Machado e Maia (2013), uma tendência no projeto de sistemas operacionais modernos é a utilização de técnicas de orientação por objetos, o que leva para o projeto do núcleo do sistema todas as vantagens desse modelo de desenvolvimento de software. Sendo assim, pode-se enumerar os principais benefícios ocasionados pela utilização de programação por objetos no projeto e na implementação de sistemas operacionais, EXCETO:

Alternativas
Comentários
  • Vamos aos comentários.

    Uma tendência no projeto de sistemas operacionais modernos é a utilização de técnicas de orientação por objetos,o que leva para o projeto do núcleo do sistema todas as vantagens deste modelo de desenvolvimento de software. Existe uma série de vantagens na utilização de programação por objetos no projeto e na implementação de sistemas operacionais. A seguir, os principais benefícios são apresentados:

    • melhoria ria organização das funções e recursos do sistema;

    •redução no tempo de desenvolvimento;

    •maior facilidade na manutenção e extensão do sistema;

    •facilidade de implementação do modelo de computação distribuída

    Fonte: Machado e Maia (2013) pg, 53

    #SóNinja

    #CursoAdonai

  • A POO não tem influência sobre a auditoria ou segurança de sistema.

  • Um dos pilares do POO, o encapsulamento das classes, não visa também aumentar a segurança do sistema?


ID
3009964
Banca
IF Sul Rio-Grandense
Órgão
IF Sul Rio-Grandense
Ano
2019
Provas
Disciplina
Programação
Assuntos

Um dos recursos mais interessantes na orientação a objetos é o Encapsulamento.


Para atingir o encapsulamento, uma das formas é definindo a visibilidade das propriedades e dos ________ de um objeto. Membros declarados como _________, somente podem ser acessados dentro da própria classe em que foram declarados e a partir de classes _________, mas não poderão ser acessados a partir do programa que faz uso dessa classe (manipulando o objeto em si).


As palavras que completam, correta e respectivamente as lacunas, são:

Alternativas
Comentários
  • Obrigado pelo recado e elogios. Me encontrará facilmente em sites de questões, e também no FB. Se precisar de algo, é só avisar. Bons estudos.
  • Encapsulamento é a técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos para os objetos. Por conta dessa técnica, o conhecimento a respeito da implementação interna da classe é desnecessário do ponto de vista do objeto, uma vez que isso passa a ser responsabilidade dos métodos internos da classe.

  • O texto com as lacunas corretamente preenchidas é o seguinte.

    Para atingir o encapsulamento, uma das formas é definindo a visibilidade das propriedades e dos métodos de um objeto. Membros declarados como protected, somente podem ser acessados dentro da própria classe em que foram declarados e a partir de classes descendentes, mas não poderão ser acessados a partir do programa que faz uso dessa classe (manipulando o objeto em si).

    Resposta: D

  • Alternativa D: Métodos, protected, descendentes.


ID
3024025
Banca
COMPERVE
Órgão
UFRN
Ano
2019
Provas
Disciplina
Programação
Assuntos

Os conceitos da programação orientada a objetos (POO) surgiram no final da década de 1960, quando a linguagem Simula-68 introduziu as ideias de objetos e troca de mensagens para construção de programas. Tais concepções foram posteriormente amadurecidas e aprimoradas durante a década de 1970 pela linguagem de programação Smalltalk. Mas a popularização da POO só se deu ao longo das décadas de 1980 e 1990, com as linguagens C++ e Java. Na POO, uma classe é

Alternativas
Comentários
  • Uma classe é um gabarito para a definição de objetos. Através da definição de uma classe, descreve-se que propriedades -- ou atributos -- o objeto terá.


ID
3024028
Banca
COMPERVE
Órgão
UFRN
Ano
2019
Provas
Disciplina
Programação
Assuntos

Na programação orientada a objetos, o polimorfismo é a habilidade de objetos de classes diferentes responderem à mesma mensagem de maneiras diferentes. Um tipo de polimorfismo é

Alternativas
Comentários
  • Questão errada. Sobrecaraga é na mesma classe. A opção correta seria Override.

  • Tipos de polimorfismo:

    1. Polimorfismo dinâmico: ou sobrescrita/Overriding. Herança - classe filha sobrescreve classe pai. Tempo de execução.

    2. Polimorfismo estático: ou sobrecarga/Overloading. Mesma classe - assinaturas diferentes. Tempo de compilação.

    A pergunta é um dos tipos de polimorfismo - dentre as respostas temos o Polimorfismo de Sobrecarga. O comando da questão fala do polimorfismo dinâmico só para nos confundir.

  • Como vimos na parte teórica desta aula, existem 2 tipos de polimorfismo: o estático e o dinâmico. A diferença entre eles pode ser resumida no seguinte diagrama.

    Por esse diagrama fica claro que o polimorfismo de sobrecarga é um dos tipos de polimorfismo.

    Resposta: A

  • Complementando o colega:

    Questão errada!

    Mesma mensagem em classes diferentes trata-se de Sobrescrita / Overriding.


ID
3024031
Banca
COMPERVE
Órgão
UFRN
Ano
2019
Provas
Disciplina
Programação
Assuntos

Os métodos construtores da programação orientada a objetos são utilizados para instanciar objetos de uma determinada classe. Assim, não é possível criar objetos sem invocar um construtor. A respeito do construtor,

Alternativas
Comentários
  • Sempre que não houver outro declarado um construtor padrão com o campo vazio é criado pelo Java.

  • O construtor é um método da classe como qualquer outro. Tem assinatura composta de retorno + nome + lista de parâmetros.

    A única coisa que ele tem de especial é que é sempre invocado no momento da instanciação da classe. Sua função é construir o objeto, isto é, realizar operações de inicialização da instância.

    O avaliador cobrou nesta questão conhecimento específico do método construtor. O gabarito é letra C. 

    Toda classe deve ter um construtor, mas o programador não precisa necessariamente codificá-lo.

    Quando o construtor não é codificado pelo programador, ele é criado implicitamente (“por debaixo do pano”) pela própria tecnologia da linguagem OO.

    Resposta: C

  • quando você não declara um MÉTODO CONSTRUTOR para uma classe, o compilador cria um construtor padrão com uma lista vazia de parâmetros. Pode-se criar diversos construtores para uma mesma classe.

    GABARITO C


ID
3030760
Banca
IDECAN
Órgão
IF-PB
Ano
2019
Provas
Disciplina
Programação
Assuntos

Em Orientação a Objetos, Herança Múltipla ocorre quando uma classe herdar de duas ou mais classes. Java não permite Herança Múltipla entre classes, ou seja, em Java uma classe só pode herdar de no máximo uma outra classe. Entretanto, normalmente os desenvolvedores Java utilizam-se de outra estrutura para simular Herança Múltipla. Que estrutura é essa?

Alternativas
Comentários
  • O que se pode fazer em Java é que uma classe implemente várias interfaces, pois interfaces são como classes 100% abstratas, ou seja, é completamente proibido qualquer tipo de implementação nela, logo, não há o menor problema se as duas interfaces tiverem um método com a mesma assinatura, pois quem vai implementar o método é a classe que implementa as interfaces.

    https://pt.stackoverflow.com/questions/22718/java-n%C3%A3o-possui-heran%C3%A7a-m%C3%BAltipla

  • Isso mesmo todos os métodos da Interface são abstratas, para que possam ser instanciadas e necessário que ela seja invocado em outra classe e esta por sua vez assina uma espécie de contrato na qual fica obrigada a herdar todas os métodos abstratas da Interface. Em java não existe o conceito de heranças múltiplas.

  • Herança múltipla em Java:

    Interface - Uma classe pode implementar diversas interfaces

    Classe Abstrata - Uma classe pode herdar somente uma classe

  • A herança múltipla ocorre quando uma classe herda de mais de 1 classe imediatamente acima na hierarquia. É um conceito do paradigma orientado a objetos. Mas nem todas as linguagens OO suportam esse recurso da herança múltipla. Isso ocorre devido a possíveis problemas de ambiguidade resultantes da herança múltipla com uma classe herdando métodos com mesmo nome de 2 superclasses diferentes.

    Algumas linguagens OO contornam esse problema da ambiguidade e suportam a herança múltipla, como por exemplo C++, Python, R.

    Outras importantes linguagens não suportam a herança múltipla como Java e C#.

    Apesar de Java não suportar a herança múltipla de classes, ela utiliza uma outra estrutura para simular a herança múltipla. A Interface. Java permite implementar múltiplas interfaces na mesma classe.

    Resposta: E


ID
3044479
Banca
FCC
Órgão
TRF - 4ª REGIÃO
Ano
2019
Provas
Disciplina
Programação
Assuntos

As linguagens de programação

Alternativas
Comentários
  • Olá todos,

    E--> Questão inverte os conceitos de interpretação e compilação, portanto ERRADA.

    D --> A afirmação que Linguagem POO são todas COMPILADAS torna a questão incorreta.

    C-->A Linguagem Lua (Brasileiríssima) não é usada em aplicações web e sim de prototipagem.

    B--> A alternativa erra quando diz que Ruby compilada.

    Gabarito A

  • "Quando um programa Java é compilado, o resultado final é Java bytecode . Bytecode Java é executado em uma JVM , permitindo a qualquer computador com uma JVM para executar bytecode Java . Com C , o código fonte é compilado para binários específicos da máquina que só são compatíveis dentro de uma faixa estreita de arquiteturas. Portando programas em C para outras arquiteturas exige o código fonte para ser recompilados , e muitas vezes parcialmente reescrito , para acomodar os novos requisitos de hardware. "

    fonte: www.ptcomputador.com

  • Que confuso, tem uma outra questão da mesma banca referente ao C# que afirma que o CIL (Common Intermediate Language) é compilado em tempo de execução pelo CLR, e aqui diz que o mesmo é interpretado...

    Tem essa questão aqui no qconcursos, o número dela é Q304589 e é o item IV

    IV. Compiladores de linguagens direcionadas ao .NET Framework geram um código intermediário chamado de Common Intermediate Language (CIL), que, por sua vez, é compilado em tempo de execução pelo CLR. Com esse recurso, as ro- tinas escritas em uma linguagem tornam-se acessíveis a outras linguagens da plataforma .NET.

    E aqui tá a fonte de base para essa outra questão:

    https://msdn.microsoft.com/pt-br/library/hh425099(v=vs.110).aspx

    E agora?

  • Oi, tudo bem?

    Gabarito: A

    Bons estudos!

    -Você nunca sai perdendo quando ganha CONHECIMENTO!


ID
3067810
Banca
CS-UFG
Órgão
Fundação Unirg
Ano
2017
Provas
Disciplina
Programação
Assuntos

Para responder a questão , considere as classes X e Y, tal que X estende Y. A classe X possui um método denominado calcula e a classe Y possui um método denominado calcula.

O método calcula em Y é sobrescrito pelo método calcula em X no seguinte exemplo:

Alternativas
Comentários
  • Sobrescrito = mesma assinatura(mesmos parâmetros e retorno).

    Sobrecarga = assinatura diferente.

  • É simples assim.

    Como disse o colega Leophb:

    Sobrescrito = mesma assinatura(mesmos parâmetros e retorno).

    Sobrecarga = assinatura diferente.

    Letra a) X recebe um valor inteiro, Y recebe um valor booleano.

    Parâmetros diferentes, portanto sobrecarga.

    Letra b) X retorna um valor inteiro, Y retorna um valor booleano.

    Retornos diferentes, portanto, sobrecarga.

    Letra c) X recebe dois parâmetros, Y recebe três parâmetros.

    Quantidade de parâmetros diferentes, portanto assinaturas diferentes, sobrecarga.

    Letra d) Os dois métodos recebem um valor inteiro passado como parâmetro e retornam um valor inteiro.

    Mesmo parâmetro e mesmo retorno. Sobrescrita de métodos. Resposta correta.


ID
3067813
Banca
CS-UFG
Órgão
Fundação Unirg
Ano
2017
Provas
Disciplina
Programação
Assuntos

Para responder a questão , considere as classes X e Y, tal que X estende Y. A classe X possui um método denominado calcula e a classe Y possui um método denominado calcula.

Considere que o método calcula em X retorna um valor inteiro que é o dobro do único valor inteiro passado como parâmetro e o método calcula em Y retorna um valor inteiro que é a soma dos dois valores inteiros passados como parâmetro. Se x e y são objetos das classes X e Y, respectivamente, então a execução da expressão x.calcula(y.calcula(10,11)) resulta no valor

Alternativas
Comentários
  • y.calcula(10,11) = 21

    x.calcula(21) = 42

    Letra C

  • De graça.


ID
3067816
Banca
CS-UFG
Órgão
Fundação Unirg
Ano
2017
Provas
Disciplina
Programação
Assuntos

Para responder a questão , considere as classes X e Y, tal que X estende Y. A classe X possui um método denominado calcula e a classe Y possui um método denominado calcula.

Considere que o método calcula em X retorna um valor inteiro que é o triplo do único valor inteiro passado como parâmetro e o método calcula em Y retorna um valor inteiro que é produto dos dois valores inteiros passados como parâmetro. Se x e y são objetos das classes X e Y, respectivamente, então a execução da expressão y.calcula(x.calcula(3), x.calcula(4)) resulta no valor

Alternativas
Comentários
  • y.calcula(x.calcula(3), x.calcula(4)) 

    y.calcula(3[triplo].3, 3[triplo].4) 

    y.calcula([produto]9.12) = 108


ID
3080269
Banca
IBFC
Órgão
Prefeitura de Cuiabá - MT
Ano
2019
Provas
Disciplina
Programação
Assuntos

Programação Orientada a Objetos (POO) é um paradigma de programação que tem como base o conceito de objeto, podendo conter dados na forma de campos, códigos e procedimentos, também conhecidos como métodos. Sobre os pilares da POO, relacione as colunas abaixo.


I. Encapsulamento - 1. Os detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos para os objetos.


II. Polimorfismo - 2. Permite que classes compartilhem atributos e métodos, como molde para novas classes.


III. Herança - 3. Permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam.


Assinale a alternativa correta.

Alternativas
Comentários
  • Letra B

    Encapsulamento é a técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos para os objetos. Por conta dessa técnica, o conhecimento a respeito da implementação interna da classe é desnecessário do ponto de vista do objeto, uma vez que isso passa a ser responsabilidade dos métodos internos da classe. https://www.devmedia.com.br/conceitos-encapsulamento-programacao-orientada-a-objetos/18702

    Polimorfismo: Na natureza, vemos animais que são capazes de alterar sua forma conforme a necessidade, e é dessa ideia que vem o polimorfismo na orientação a objetos. Como sabemos, os objetos filhos herdam as características e ações de seus “ancestrais”. Entretanto, em alguns casos, é necessário que as ações para um mesmo método seja diferente. Em outras palavras, o polimorfismo consiste na alteração do funcionamento interno de um método herdado de um objeto pai.

    Herança: Para entendermos essa característica, vamos imaginar uma família: a criança, por exemplo, está herdando características de seus pais. Os pais, por sua vez, herdam algo dos avós, o que faz com que a criança também o faça, e assim sucessivamente. Na orientação a objetos, a questão é exatamente assim. O objeto abaixo na hierarquia irá herdar características de todos os objetos acima dele, seus “ancestrais”. https://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264


ID
3102688
Banca
VUNESP
Órgão
Prefeitura de Valinhos - SP
Ano
2019
Provas
Disciplina
Programação
Assuntos

Na programação orientada a objetos, quando se cria um método com o mesmo nome de outro, mas que diferem entre si por meio dos parâmetros (ou dados de entrada) está se utilizando o conceito de

Alternativas
Comentários
  • Letra B e C. Pois sobrecarga faz parte do polimorfismo.

  • Algumas literaturas não consideram sobrecarga como polimorfismo, somente consideram sobrescrita como polimorfismo, por isso acertei a questão, mas ainda sim acho desnecessário criar esse tipo de polêmica na prova.

  • Alternativa C

  • Cabe uma anulação

  • Por isso é bom saber o que pensa a banca.

  • Questão malvada, pois se trata também de POLIMORFISMO:

    O Polimorfismo pode ser Estático ou Dinâmico. O primeiro é também conhecido como polimorfismo por sobrecarga ou overloading, é representado com o nome do POLIMORFISMO.

    A questão: "...método com o mesmo nome de outro, mas que diferem entre si por meio dos parâmetros (ou dados de entrada) "

    Logo:

    SOBRECARGA OU OVERLOADIND

  • questão deve se anulada pois isso que ele acabou de citar eh polimorfismo, não interessa se ele tem outro nome bonito, é um dos pilares do POO, como se eu falasse que lei de newton tem outro nome


ID
3116917
Banca
CESPE / CEBRASPE
Órgão
TJ-AM
Ano
2019
Provas
Disciplina
Programação
Assuntos

Considerando os modelos de programação estruturada (PE) e de programação orientada a objetos (POO), julgue o item seguinte.


Sob o paradigma de PE, um código de programa consiste de sub-rotinas (funções e procedimentos) associadas a uma rotina principal; sob o paradigma de POO, um código de programa consiste de diversos objetos inter-relacionados por meio de métodos que estabelecem um nível de comunicação (colaboração entre objetos).

Alternativas

ID
3116920
Banca
CESPE / CEBRASPE
Órgão
TJ-AM
Ano
2019
Provas
Disciplina
Programação
Assuntos

Considerando os modelos de programação estruturada (PE) e de programação orientada a objetos (POO), julgue o item seguinte.


Os pilares da orientação a objetos são classe, objeto, atributo e método.

Alternativas
Comentários
  • Encapsulamento, abstração, Herança e Polimorfismo são os pilares na programação orientada a objeto.

    Fonte: Devmedia

  • Queria saber a fonte da resposta do Gabarito. Em todos os materiais disponíveis a resposta é sempre:Abstração, Encapsulamento, Herança e Polimorfismo.

  • Caramba, nada haver esse gabarito.

  • Os pilares da POO são Encapsulamento, Abstração, Herança e Polimorfismo.

  • Mais alguém inconformado com esse gabarito?

  • Sinceramente acho que caberia recurso.

  • São pilares da Orientação a Objetos:

    1) Encapsulamento;

    2) Herança;

    3) Polimorfismo;

    4) Princípio da Abstração.

  • Classe => Herança

    Método => Polimorfismo

    Atributo => Encapsulamento

    Abstração => Todos juntos

    Seria essa a comparação que a CESPE fez?

  • Acho muita covardia por parte dessas bancas, "forçam" a redação da questão e tomam como verdade absoluta.

  • A única explicação é o fato de a pessoa que elaborou a questão ser defensora da programação estruturada.

  • É hora do show, o mutante chegou!

    Lembrem-se programação é programação, o que a Cespe acha é diferente, não quer dizer que ela está certa.

    Vem com o monstro!

  • Típica questão que mostra que temos que marcar X no lugar certo, e não de fato saber a matéria.

  • Como entender a cabeça do ser humano que elaborou essa questão?

  • CESPE Viajou, até agora estou tentando descobrir de onde eles tiraram isso.

  • Esse gabarito não faz sentido! Os pilares são Abstração, Encapsulamento, Herança e Polimorfismo.

  • Gabarito: CERTO

    Os pilares da orientação a objetos são quatro:

    • Abstração
    • Herança
    • Encapsulamento
    • Polimorfismo

    O item nos afirma que os pilares da orientação a objetos são: classe, objeto, atributo e método, o que está ERRADO.

    Classe é a unidade inicial e mínima do código e a partir dela que definimos o comportamento (método) e o estado (atributos) do objeto. O objeto é a instância de uma classe, é partir dele que podemos representar algo do mundo real.

    Enfim, acho que a banca forçou um gabarito. Ao meu ver a questão deveria ter sido anulada, porém a banca o manteve.

  • Fonte: vozes da cabeça do examinador

  • Minha alegria é ver que o número de inconformados é alto, assim não fico sozinho.

  • Atributo e método, tem em outras estilos de programação, procedural método é igual a função, gabarito totalmente errado


ID
3116923
Banca
CESPE / CEBRASPE
Órgão
TJ-AM
Ano
2019
Provas
Disciplina
Programação
Assuntos

Considerando os modelos de programação estruturada (PE) e de programação orientada a objetos (POO), julgue o item seguinte.


Na POO, uma classe pode ser derivada de outra, determinando famílias de classes por meio de hierarquia. Nesse caso, uma subclasse pode derivar de uma superclasse já existente, e esta superclasse herda atributos e funcionalidades da subclasse.

Alternativas
Comentários
  • Superclasse não herda nada de subclasse. Subclasses sim herdam da superclasse.

  • Sup de Superior é a Classe Alfa

    Sub de inferior é a classe que recebe atributos e métodos da Alfa.

  • Cespe sendo cespe desde o descobrimento do Brasil, mais um joguinho de palavras pra pegar candidato desatento.

ID
3132943
Banca
VUNESP
Órgão
Câmara de Piracicaba - SP
Ano
2019
Provas
Disciplina
Programação
Assuntos

Em um código-fonte de um programa construído com base na orientação a objetos, há um método M abstrato não-estático em uma classe C. Isso significa que

Alternativas
Comentários
  • Nessa questão são importantes os conceitos de Métodos ou classes abstratas, e de Métodos estáticos.

    Métodos Abstratos são declarados sem implementação, normalmente em uma interface.

    Métodos Estáticos são chamados sem a necessidade de instanciar a classe.

    Portanto, como M é um método abstrato, não há implementação do mesmo na própria definição, apenas em uma classe que implemente a interface e dê uma implementação "concreta" ao método.

    Portanto a letra A é a correta:

    Uma chamada a M requer uma implementação do mesmo em uma subclasse de C.

  • Classe Abstrata

    1. Não suporta Herança Múltipla

    2. Pode conter métodos concretos ou abstratos: Isso quer dizer que todos os métodos de uma classe abstrata podem ser tanto concretos como, também, todos podem ser abstratos;

    3. Pode conter atributos de todos os tipos

    4. Contém construtor

    5. Quando utilizar? Diferente da interface que pode estar envolvida com diversas classes sem qualquer relação entre si, uma classe abstrata continua sendo uma classe. E sabemos que quando uma classe X herda de uma classe Y é o mesmo que dizer que X é um Y. Ou seja, quando queremos criar várias classes que irão compartilhar um mesmo comportamento, uma classe abstrata é o componente ideal para ser a base para criação de todas elas, servindo como um molde para as futuras classes que irão derivar dela. Conclusão: classes abstratas definem a identidade de suas classes derivadas ditando o que e como uma classe deve se comportar, o que aumenta o acoplamento entre classes, porém faz total sentido em algumas situações.

    Interface

    1. Suporta Herança Múltipla: Uma classe pode implementar múltiplas interfaces;

    2. Permite apenas métodos abstratos: Nenhum método com implementação. Temos algumas exceções que chegaram com o Java 8, mas essa é a ideia principal;

    3. Não contém atributos: Essa é outra regra que possui uma exceção. Enquanto é comum ouvirmos que interfaces não guardam o estado da classe por não suportarem a instância de atributos, elas ainda podem conter atributos constantes de classe ();

    4. Não contém construtor

    5. Quando utilizar? O ideal é utilizar a interface quando várias classes diferentes compartilham apenas a assinatura de seus métodos. Em outras palavras, podemos ter várias classes sem qualquer relação entre si, mas se elas compartilharem as funcionalidades oferecidas pela interface que estamos criando, então faz total sentido que essas classes a implementem. Conclusão: interfaces estão aí para ditar o que uma classe deve fazer, ajudando a definir quais habilidades as classes que assinarem esse "contrato" devem possuir.

    Fonte:

    https://cursos.alura.com.br/forum/topico-diferenca-entre-classe-abstrata-e-interface-144776?gclid=Cj0KCQiA-eeMBhCpARIsAAZfxZCp_S6dIWLW3gvx9ntLrZYtvKKEw3hrhsgOuD6s1JwhPcUXi_MWFdYaAhyfEALw_wcB


ID
3132946
Banca
VUNESP
Órgão
Câmara de Piracicaba - SP
Ano
2019
Provas
Disciplina
Programação
Assuntos

Na orientação a objetos, para que um atributo de uma classe C possa ser acessado apenas por qualquer método de C ou por qualquer método definido em subclasses de C, sua visibilidade deve ser

Alternativas
Comentários
  • private: Métodos e membros de dados private são acessíveis apenas dentro da classe que os contém.

    package: Limita o acesso ao interior do pacote que reside.

    protected: Métodos e membros de dados protegidos são acessíveis dentro de pacote e também fora de seu pacote pelas subclasses que os herdam.

    public: permite acesso a partir de qualquer lugar.

    Alternativa: C

  • A = Somente Classe

    B = Aceita todo mundo

    C = Classe e Subclasse

    D = Classe, Subclasse e Pacote

    E = Lhufas

    GABARITO C


ID
3137554
Banca
VUNESP
Órgão
Prefeitura de Itapevi - SP
Ano
2019
Provas
Disciplina
Programação
Assuntos

Na programação orientada a objetos, o conceito de sobrecarga representa a

Alternativas
Comentários
  • Não confundir sobrecarga com sobrescrita, sobrescrita é a implementação de polimorfismo, conhecido como métodos dinâmicos.

  • SobreCarga = "C" de mesma Classe -> Métodos com mesmo nome mesma Classe com assinaturas diferentes -> @overoverload.

    SobreEscrita ou Sobreposição = "E" de Escrever método novamente em classes diferentes ->Herança -> @override.


ID
3172798
Banca
IF-PE
Órgão
IF-PE
Ano
2019
Provas
Disciplina
Programação
Assuntos

Em qual alternativa apresentam-se características que não são fundamentais para uma linguagem orientada a objetos?

Alternativas
Comentários
  • Subprogramas - (em Java, métodos)

  • Subprogramas????

  • Algumas linguagens OO não têm tipos primitivos, como Ruby e Smalltalk


ID
3211135
Banca
FEPESE
Órgão
CELESC
Ano
2019
Provas
Disciplina
Programação
Assuntos

Assinale a alternativa correta com relação à programação orientada a objetos:

Alternativas
Comentários
  • A

    O polimorfismo é um mecanismo da Orientação a Objeto que permite criar novas classes a partir de classes já existentes, aproveitando-se das características existentes na classe a ser estendida.

    Errado, isso é erança.

    B

    A herança é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação, assinatura, mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse.

     Errado, isso é polimorfismo.

    C

    O polimorfismo serve para controlar o acesso aos atributos e métodos de uma classe. É uma forma eficiente de proteger os dados manipulados dentro da classe, além de determinar onde esta classe poderá ser manipulada.

    Errado, isso é método de acesso: private, protected e public.

    D

    A herança é um mecanismo da Orientação a Objeto que permite criar novas classes a partir de classes já existentes, aproveitando-se das características existentes na classe a ser estendida.

    Correto.

    E

    O encapsulamento é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação, assinatura, mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse.

    Errado, isso é polimorfismo.

  • Como já disse o colego acima, essa descrição está perfeita, mas para o conceito de herança.

    O Polimorfismo é este princípio, podendo acontecer, por exemplo, através da sobrecarga e sobrescrita de métodos. Ex:

    Método principal: public void soma(int x) { return x + 2; }

    Sobrecarga: public void soma(int x, int y) { return x + y; }

    Sobrescrita: public void soma(int x) { return x + 3; }

    O conceito desta descrição é o de Encapsulamento.

    Correto!

    Este conceito é o de Polimorfismo (como na letra B).

  • A = Herança

    B = Polimorfismo

    C = Encapsulamento

    E = Polimorfismo

    GABARITO D

    A e B Invertidos

    E e C Invertidos


ID
3219973
Banca
VUNESP
Órgão
FUNDUNESP
Ano
2016
Provas
Disciplina
Programação
Assuntos

Na programação orientada a objetos, há os conceitos de classes concretas e classes abstratas, sobre as quais é correto afirmar que

Alternativas
Comentários
  • Gabarito C

  • c-

    classes abstratas nao admitem instâncias. exemplo: classe animal

    classes concretas admitem instâncias. para aproveitar o conteúdo da classe abstrata, usa-se "extends". exemplo: public class gato extends Animal


ID
3250231
Banca
Quadrix
Órgão
COREN-RS
Ano
2018
Provas
Disciplina
Programação
Assuntos

Na programação orientada a objetos, o pilar que permite que um único nome de classe, ou nome de método, represente um código diferente, selecionado por algum mecanismo automático, em que um nome pode assumir muitas formas, ou seja, o mesmo nome pode representar muitos comportamentos diferentes, é o pilar conhecido como

Alternativas

ID
3251545
Banca
AOCP
Órgão
Prefeitura de Juiz de Fora - MG
Ano
2016
Provas
Disciplina
Programação
Assuntos

Em um projeto de software orientado a objetos, é correto afirmar que

Alternativas
Comentários
  • a) os objetos criados a partir de classes diferentes não podem ter relação uns com os outros

    b) os objetos (classes) são projetados de forma que especifiquem todas as definições para que uma classe (um objeto) seja instanciada, sendo assim a classe é uma instância do objeto (objeto é uma instância de classe).

    c) o encapsulamento do objeto (herança) garante que a classe filha tenha acesso aos comportamentos e atributos da classe pai [que não sejam privados]

    d) envolve projetar as classes de objetos e os relacionamentos entre essas classes, as quais definem os objetos no sistema e suas interações

    e) as classes pais somente podem ter relação de agregação com outras classes.


ID
3251548
Banca
AOCP
Órgão
Prefeitura de Juiz de Fora - MG
Ano
2016
Provas
Disciplina
Programação
Assuntos

Considere que uma classe de objeto qualquer foi implementada e o programador deixou um atributo da classe de forma pública, sendo possível acessá-lo diretamente. Qual dos seguintes conceitos de orientação a objetos NÃO foi seguido?

Alternativas

ID
3251572
Banca
AOCP
Órgão
Prefeitura de Juiz de Fora - MG
Ano
2016
Provas
Disciplina
Programação
Assuntos

Considerando que uma classe concreta implementa uma interface, é correto afirmar que

Alternativas
Comentários
  • Alternativas B, C e D são descartadas sumariamente.

    A e E fica a grande dúvida.

    E) Descartada pois a interface tem justamente o propósito de receber a implementação dos métodos, não caracterizando uma sobrecarga, estamos populando a interface. Para sobrecarregar seria dentro da classe implementadora.

    Gabarito A).

  • As interfaces podem ser encaradas como classes abstratas completamente não implementadas. Ou seja, todos os métodos são abstratos e os atributos só podem ser do tipo static final (constantes).

    A interface não é usada como superclasse de outras classes. Uma interface é implementada por outras classes. A classe que implementa uma interface precisa fornecer uma implementação para todas os métodos definidos na Interface. 

    (LOGO LETRA A))

    FONTE: http://www.dpi.ufv.br/~vladimir/java/Java%20na%20Pratica_vol1.pdf

  • B também está certa

  • a) Uma classe concreta deve implementar os métodos da interface, uma classe abstrata não precisaria

    b) Interfaces não são instanciadas, igual às classes abstratas. O máximo que posso fazer é usar o "new" para criar uma classe anônima que as implementa/estende

    c) A classe que implementou a interface vai continuar concreta

    d) Todo método de interface é obrigatoriamente e por default público. Já as classes abstratas podem ser qualquer coisa menos privado

    e) Sobrecarga não, sobrescrita


ID
3254890
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2019
Provas
Disciplina
Programação
Assuntos

Dentro do contexto de linguagens de programação e de orientação a objetos, o conceito de polimorfismo descreve meios em que classes abstratas e concretas podem se relacionar. Assinale a alternativa que conceitua corretamente polimorfismo.

Alternativas
Comentários
  • Polimorfismo
        Sobrecarga
        Mesma assinatura
        upcast
        Compartilha algumas funcionalidades e tem seu próprio comportamento
        LigaçãoTardia - Late Binding
        Em Java
            É o tipo do objeto referenciado, e não o tipo da 
    variável de referência, que determina a versão 
    de um método sobreposto que será executada.
            Se uma superclasse tiver um método sobre-
    posto por uma subclasse, quando diferentes 
    tipos de objetos forem referenciados por uma 
    variável de referência da superclasse, versões 
    distintas do método serão executadas.
            Despacho dinâmico de métodos é o meca-
    nismo pelo qual a chamada a um método 
    sobreposto é resolvida no tempo de execução, 
    e não de compilação
        Habilidade que permite que o nome de uma operação possa referir-se a diferentes implementações, dependendo do tipo de objeto ao qual ela se aplica
        recurso que permite que uma interface seja usada para uma classe geral de ações. 
        

  • A banca considerou a alternativa D, aí colocou esse trecho "mesmo nome (como uma variável, por exemplo) ", porque muitos só conhecem polimorfismo relacionado a métodos, mas existe o conceito de variável polimórfica, que viabiliza a questão. Alternativa D

  • é serio que os cara colocaram a letra D como gabarito

  • Linguagens de programação que implementem o conceito de herança também precisam implementar o conceito de polimorfismo por construção.

    LETRA B


ID
3254896
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2019
Provas
Disciplina
Programação
Assuntos

Considere o seguinte cenário: a execução de testes se torna mais frequente, pois métodos podem ter seu comportamento alterado, em virtude de outros métodos chamados dentro da classe, necessitando que um trecho de código já testado e não alterado seja testado novamente, caso exista alteração em outra parte do código. O cenário descrito aconteceu em virtude da aplicação do seguinte conceito no desenvolvimento do software:

Alternativas
Comentários
  • O examinador pirou? Herança?

  • caraca!! que doidice é essa?

  • Não deveria ser polimorfismo ?

  • '' pois métodos podem ter seu comportamento alterado'' isso não seria polimorfismo?

  • polimorfismo

  • hahaha como assim herança!
  • Questão mal-formulada, no mínimo.

  • Gabarito lamentável.

    É aquela situação já vista em outros comentários: "Quem estudou, errou." ou então "Quem errou, acertou".

  • Depois de um ano e meio eu errei(ou acertei???) novamente, o Qconcursos deveria ter um filtro de "exclusão de bancas", porque algumas bancas só servem para atrapalhar a avaliação de desempenho nos exercícios.

  • Faria sentido neste contexto:

    • Se for alterado o método da classe pai, será preciso retestar o método da classe filha que o chamou

    Também faria sentido no caminho inverso, que é o padrão Template Method:

    • Se for alterado o método da classe filha, será preciso retestar o método da classe pai que o chamou
    • Imagem: https://cdn-images-1.medium.com/max/1000/0%2ARvG9O6e6WiEBwZSC.png

     

    O problema é que isso não acontece só com herança, acontece com qualquer classe que troca mensagem com outra. Essa questão deveria ser anulada


ID
3257836
Banca
FCC
Órgão
TRF - 3ª REGIÃO
Ano
2019
Provas
Disciplina
Programação
Assuntos

A Programação Orientada a Objetos - POO tem alguns mecanismos para garantir maior segurança no código. Mais especificamente, nos casos dos atributos de classes, a recomendação é utilizar a visibilidade private para os atributos de uma classe. Assim, considerando que uma classe tenha sido criada com a visibilidade private,

Alternativas
Comentários
  • Alternativa E.

  • Não se pode criar classes privadas. Ou public ou protected.

  • A visibilidade da classe, pode ser public, private ou default, conforme o devmedia.

    Fonte: https://www.devmedia.com.br/java-declaracao-e-utilizacao-de-classes/38374https://www.devmedia.com.br/java-declaracao-e-utilizacao-de-classes/38374


ID
3260257
Banca
IBFC
Órgão
Prefeitura de Divinópolis - MG
Ano
2018
Provas
Disciplina
Programação
Assuntos

Analise a definição abaixo, referente aos conceitos básicos da Programação Orientada a Objetos (POO)

“é o mecanismo pelo qual uma classe pode estender outra classe ou, ainda, ser estendida de outra classe”

pode-se dizer que se refere diretamente ao conceito de: 

Alternativas
Comentários
  • Letra D

    Herança é o mecanismo pelo qual uma classe (subclasse) pode estender outra classe (superclasse), aproveitando seus comportamentos (métodos) e estados possíveis (atributos). Há herança múltipla quando uma subclasse possui mais de uma superclasse. Essa relação é normalmente chamada de relação "é um". Um exemplo de herança: Mamífero é superclasse de Humano. Ou seja, um Humano é um mamífero.

  • Letra D

    ... pois há herança múltipla quando uma subclasse possui mais de uma superclasse. Essa relação é normalmente chamada de relação "é um". Um exemplo de herança: Mamífero é superclasse de Humano. Ou seja, um Humano é um mamífero.


ID
3260623
Banca
IBFC
Órgão
Prefeitura de Divinópolis - MG
Ano
2018
Provas
Disciplina
Programação
Assuntos

Quanto às classes concretas e abstratas, selecione a alternativa correta:

Alternativas
Comentários
  • Classe abstrata não pode ser instanciada

  • As classes abstratas são as que não permitem realizar qualquer tipo de instância. São classes feitas especialmente para serem modelos para suas classes derivadas. As classes derivadas, via de regra, deverão sobrescrever os métodos para realizar a implementação dos mesmos. As classes derivadas das classes abstratas são conhecidas como classes concretas.

  • Lembrando que, mesmo não podendo ser instanciada, uma classe abstrata pode ter construtor.

    Uma classe filha, por exemplo, poderia invocar explicitamente o construtor da classe abstrata pai usando o "super()".


ID
3261607
Banca
IBFC
Órgão
Emdec
Ano
2019
Provas
Disciplina
Programação
Assuntos

Sobre os pilares da Programação Orientada a Objetos (POO), analise as afirmativas abaixo e assinale a alternativa correta.


I. Polimorfismo protege o acesso direto (referência) aos atributos de uma instância, fora da classe onde estes foram declarados.

II. Herança usada na intenção de reaproveitar código ou comportamento generalizado ou especializar operações ou atributos.

III. Encapsulamento permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam.

Alternativas
Comentários
  • Letra A

    Encapsulamento é a técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe permaneçam ocultos para os objetos. Por conta dessa técnica, o conhecimento a respeito da implementação interna da classe é desnecessário do ponto de vista do objeto, uma vez que isso passa a ser responsabilidade dos métodos internos da classe. https://www.devmedia.com.br/conceitos-encapsulamento-programacao-orientada-a-objetos/18702

    Polimorfismo: Na natureza, vemos animais que são capazes de alterar sua forma conforme a necessidade, e é dessa ideia que vem o polimorfismo na orientação a objetos. Como sabemos, os objetos filhos herdam as características e ações de seus “ancestrais”. Entretanto, em alguns casos, é necessário que as ações para um mesmo método seja diferente. Em outras palavras, o polimorfismo consiste na alteração do funcionamento interno de um método herdado de um objeto pai.

    Herança: Para entendermos essa característica, vamos imaginar uma família: a criança, por exemplo, está herdando características de seus pais. Os pais, por sua vez, herdam algo dos avós, o que faz com que a criança também o faça, e assim sucessivamente. Na orientação a objetos, a questão é exatamente assim. O objeto abaixo na hierarquia irá herdar características de todos os objetos acima dele, seus “ancestrais”. https://www.devmedia.com.br/os-4-pilares-da-programacao-orientada-a-objetos/9264

  • III. o polimorfismo permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam. ( corrigindo aqui)

  • I e III invertidos


ID
3263119
Banca
AOCP
Órgão
Prefeitura de Juiz de Fora - MG
Ano
2016
Provas
Disciplina
Programação
Assuntos

Na programação orientada a objeto, a habilidade de estender de mais de uma classe é conhecida como herança múltipla. Na linguagem de programação Java, há uma restrição para se utilizar a herança múltipla. Sendo assim, em Java, a herança múltipla só é permitida para

Alternativas
Comentários
  • Herança múltipla, em ORIENTAÇÃO A OBJETOS, é o conceito de HERANÇA de duas ou mais CLASSES  . Ela é implementada nas linguagens de programação PYTHON e em C++ , por exemplo. A linguagem JAVA possui apenas HERANÇA SIMPLES  (uma classe possui no máximo uma classe pai), mas permite que uma classe implemente várias INTERFACES .


ID
3284869
Banca
Quadrix
Órgão
CRM-PR
Ano
2018
Provas
Disciplina
Programação
Assuntos

Julgue o próximo item, relativos ao paradigma de programação orientada a objetos (POO). 

O  encapsulamento  é  uma  técnica  da  programação orientada  a  objetos  que  evita  o  acesso  direto  às 
propriedades de um objeto. 

Alternativas
Comentários
  • Encapsulamento é esconder seus dados de outros objetos e permitir que os dados sejam acessados por intermédio de seus próprios métodos.


ID
3284872
Banca
Quadrix
Órgão
CRM-PR
Ano
2018
Provas
Disciplina
Programação
Assuntos

Julgue o próximo item, relativo ao paradigma de programação orientada a objetos (POO). 

A abstração é a propriedade do POO que permite a alteração do funcionamento interno de um método herdado de um objeto‐pai.  

Alternativas
Comentários
  • A propriedade do POO que permite a alteração do funcionamento interno de um método herdado de um objeto‐pai é chamado Polimorfismo.