SóProvas


ID
2083087
Banca
COMPERVE
Órgão
UFRN
Ano
2016
Provas
Disciplina
Programação
Assuntos

Sobre a implementação de conceitos de programação orientada a objetos na linguagem Python, é correto afirmar:

Alternativas
Comentários
  • A) self = this do JAVA

    B) expor atributos no encapsulamento !?!?!? 

    D) _init_ é para encapsulamento.

  • Existe interface em Python?

  • Pra mim não fez sentido. Apesar de o Python não possuir a estrutura de linguagem interface, como o Java ou PHP, interface é um conceito de orientação à objetos e é formada pelo conjunto de métodos públicos de um objeto. É aquilo que o objeto expõe para o mundo e com o qual outros objetos podem interagir. Sabendo disso, não faz sentido dizer que é possível implementar uma interface sem todos os métodos. Se você não implementa todos os métodos de uma interface, você não está implementando a interface.

  • c) uma classe que implementa uma interface não é obrigada a implementar todos os métodos definidos na interface.

     

    Bom... em Java (bem como acredito que seja em Python, uma vez que também é uma linguagem OO) esse cenário é possível caso seja uma classe abstrata.

     

    Segue um exemplo...

     

    interface Time { }

     

    interface Missao {
        void apoiar(Time brasil);
        void provocar(Time argentina);
    }

     

    abstract class Mascote implements Missao {   }

     

    class CanarinhoPistola extends Mascote {

        @Override
        public void apoiar(Time brasil) { }

        @Override
        public void provocar(Time argentina) { }

    }

     

    Perceba que... a classe abstrata Mascote implementa a interface Missao, mas não é obrigada a implementar seus métodos.

    Entretanto, é a classe concreta CanarinhoPistola, que herda de Mascote, que implementa os métodos de Missao.

     

    Espero ter ajudado e rumo ao Hexa! :D

  • a) O super() é utilizado entre heranças de classes, ele nos proporciona extender/subscrever métodos de uma super classe (classe pai) para uma sub classe (classe filha), através dele definimos um novo comportamento para um determinado método construído na classe pai e herdado pela classe filha.

    b) O protocolo de descritor do Python é simplesmente uma maneira de especificar o que acontece quando uma referência a um atributo em um modelo é feita. Ele permite que um programador gerencie o acesso a atributos de forma rápida e eficiente: set, get, delete

    Encapsulamento é a proteção dos atributos ou métodos de uma classe, em Python existem somente o public e o private e eles são definidos no próprio nome do atributo ou método.

    d) _init_ este método é chamado quando um objeto de uma classe é instânciado. Este método é útil para fazer qualquer inicialização que você queira com seu objeto, ou seja, ele é o método "Inicializador" da instancia.

  • ORIENTADA A OBJETOS:

    TEM HERANÇA MÚLTIPLA.