Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317

    Delucidazione sulle interfacce: ma a che cosa servono?

    Codice PHP:
    <?php

    interface interfaccia {
       public function 
    stampa();
    }

    class 
    classe implements interfaccia {
       public 
    stampa() {
          echo 
    "viene stampato";
       }
    }

    $i = new classe;
    $i->stampa();

    ?>
    In parole povere:

    Ma a che serve?

  2. #2
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    Una classe che implementa un'interfaccia è obbligata ad essere strutturata nello stesso identico modo.
    La classe dovrà quindi dichiarare gli stessi metodi e le stesse proprietà.

    Nell'esempio che hai riportato te, qualsiasi classe che implementa "interfaccia" dovrà avere avere un metodo di tipo "public chiamato stampa(), che non richieda alcun parametro.
    In caso contrario verrà generato un errore che interromperà l'esecuzione dello script.

    L'utilità è quella di avere codice coerente tra classi dello stesso tipo.
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

  3. #3
    Ciao.
    Le interfaces servono
    a rendere più chiaro
    il codice.
    Se una classe implementa
    una interfaccia deve implementare i suoi
    metodi e può implementare + interfaces
    in un certo senso hai una sorta di eredità multipla.
    La faccenda diventa + chiara al momento
    dell'uso di design patterns.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    praticamente: a niente

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.