No PHP 7 as interfaces especificam quais métodos uma classe ...

Próximas questões
Com base no mesmo assunto
Q853973 Programação
No PHP 7 as interfaces especificam quais métodos uma classe deve implementar. As interfaces
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a A. No contexto das interfaces em PHP 7, uma interface é um contrato que especifica quais métodos uma classe deve implementar, sem fornecer a implementação desses métodos. As interfaces são fundamentais no estabelecimento de um design de software consistente e na promoção do conceito de programação orientada a objetos, especialmente quando se trata de herança e polimorfismo.

É importante saber que as interfaces:

  • Não podem conter implementação de métodos, ou seja, todos os métodos declarados em uma interface devem ser públicos e abstratos, o que significa que não têm um corpo de método definido.
  • Não podem conter variáveis, mas são permitidas constantes. As constantes em interfaces são, por natureza, públicas e não podem ser alteradas.

A razão pela qual a alternativa A é a correta é que, em PHP, as interfaces podem, de fato, ser estendidas por outras interfaces usando o operador extends. Isso permite a criação de interfaces mais específicas baseadas em interfaces mais genéricas, promovendo a reutilização e a organização do código. Ao estender uma interface, a nova interface herda todos os métodos abstratos da interface pai, que então devem ser implementados por classes que implementam a interface filha.

As demais alternativas são incorretas porque:

  • As interfaces não podem ter métodos privados ou protegidos, apenas públicos (alternativa B).
  • Uma interface pode ser implementada por múltiplas classes, não havendo limitação para a quantidade de implementações (alternativa C).
  • Interfaces não podem conter métodos implementados; todos devem ser abstratos (alternativa D).
  • Embora interfaces não possam conter variáveis, elas podem conter constantes (alternativa E).

Entendendo estas características, você poderá trabalhar com interfaces no PHP 7 de maneira eficaz, aproveitando os recursos de programação orientada a objetos para criar códigos mais limpos, modulares e fáceis de manter.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

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

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo