-
Interfaces de objetos
Permitem a criação de códigos que especificam quais métodos uma classe deve implementar, sem definir como esses métodos serão tratados.
Interfaces são definidas da mesma forma que classes, mas com a palavra-chave interface substituindo class e com nenhum dos métodos tendo seu conteúdo definido.
Todos os métodos declarados em uma interface devem ser públicos, essa é a natureza de uma interface.
Para implementar uma interface, o operador implements é utilizado.
Interfaces podem ser estendidas como as classes, usando o operador extends. Letra A
Fonte: http://php.net/manual/pt_BR/language.oop5.interfaces.php
-
(A) [ GABARITO ] No Java pode, no PHP também. Assim como no Java o operador é o extends.
http://php.net/manual/pt_BR/language.oop5.interfaces.php
(B) [ ERRADO ] Somente públicos.
(C) [ ERRADO ] Podem ser implementadas por mais de uma classe.
(D) [ ERRADO ] Não podem conter métodos implementados.
(E) [ ERRADO ] Podem conter constantes, assim como no Java, mas não variáveis.
-
Cleiton Bittencourt, no Java o operador para interface é IMPLEMENTS.
-
Yuri, no Java você pode fazer uma interface estender outra como no exemplo abaixo:
public interface DoItPlus extends DoIt {
boolean didItWork(int i, double x, String s);
}
Depois uma classe pode implementar a referida interface com o implements.
public class ClasseImplementadora implements DoItPlus {
boolean didItWork(int i, double x, String s) {
// implementacao ...
}
}
Fonte: https://docs.oracle.com/javase/tutorial/java/IandI/nogrow.html
-
Toda interface tem:
1 - Método 100% abstratos, isto é, não implementados.
2 - Todos os métodos são públicos.
3 - Podem ter constantes ou variáveis.
GABARITO: A
-
Roger, só um breve comentário: o Java permite implementação default de métodos em interfaces. É claro que a questão trata sobre PHP, mas seu comentário deixa a impressão de que vale para qualquer linguagem (: