-
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.