Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Definizione di una classe e Information Hiding :: Indice Php

Definizione di una classe e Information Hiding

Categoria: Php Inserito il: 29-11-2005 Stampa (6429 click)

Per definizione di una classe intendiamo l'atto di indicare quali saranno le caratteristiche e quali i comportamenti riferiti ad un determinato insieme di oggetti.
Doveremo innanzitutto denominare la classe da chiamare in causa, dopo di chè potremo imporre durante la stesura del codice dello scripts le possibilità di accesso ad attributi e metodi attraverso delle regole; stiamo parlando delle regole di visibilità note nella OOP come Information Hiding. Abbiamo fondamentalmente tre regole specificabili:

  1. public per cui la disponibilità di un membro sarà estesa all'intero applicativo;
  2. private per cui la disponibilità di un membro verrà limitata alla sola classe in cui esso è definito;
  3. protected per cui la disponibilità di un membro sarà limitata alla classe in cui viene definito e alle classi da essa derivate.

Naturalmente, con il termine "membro" intendiamo indicare le proprietà e i metodi relativi ad un oggetto.

Sarà poi possibile svolgere un'ulteriore operazione, cioè definire un costruttore e un distruttore dell'oggetto stesso. Tramite un costruttore, che introdurremo con la sintassi __construct(), verrà inizializzata la struttura dei dati, esso verrà richiamato automaticamente nel momento della creazione di un oggetto; il distruttore, che introdurremo con la sintassi __destruct(), avrà come obbiettivo la distruzione della struttura di dati e sarà richiamato all'atto della distruzione di un oggetto.

Quindi potremo definire una classe utilizzando la seguente sintassi:
class 

Nome_della_classe
{
dichiarazione delle proprietà

introduzione del costruttore e del distruttore

dichiarazione e definizione dei metodi}
Passiamo ora ad un esempio pratico di definizione di una classe:
<?php
/*definizione di una classe e Information Hiding*/

//denominiamo la classe
class Animali
{
//regole di visibilità
public $cane = "Il cane mangia il gatto.<br />n";
public $gatto = "Il gatto mangia il topo .<br />n";
private $topo = "Povero topo.<br />n";

//introduciamo una funzione
function show()
{
$this->cane;
$this->gatto;
$this->topo;
}
}

//istanza dell'oggetto
$obj = new Animali();

//stampa a video
echo $obj->cane;
echo $obj->gatto;
echo $obj->topo;
?>
L'esempio proposto può essere testato tramite browser una volta salvato in un file ".php" denominato a piacere e inserito nella root del Web server: il costrutto "class" indica la fase iniziale della dichiarazione della classe a cui viene dato un nome; vengono quindi indicati gli attributi, i metodi e l'oggetto viene istanziato in modo da poter operare sugli attributi tramite i metodi.

Come si ha modo di notare, sono state introdotte le regole di visibilita:
public $cane = "Il cane mangia il gatto.<br />n";
public $gatto = "Il gatto mangia il topo .<br />n";
private $topo = "Povero topo.<br />n";.
Una menzione finale và fatta per il costrutto this, si tratta di una keyword utilizzata esclusivamente all'interno di una classe, con essa si indica un oggetto che ha invocato un metodo.

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pił importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Incolonnamento dei records MySQL, ordinamento orizzontale e verticale
In un precedente articolo avevamo già affrontato il discorso riguardante l'impaginazione per colonne dei records estratti da MySQL. Ora... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti