¿Quieres registrarte?

Trabajando con objetos en PHP 5

Por: joarobles
21 de Julio del 2008
4,154 visitas
php

Saludos a todos, como se ha visto últimamente, la programación orientada a objetos (POO) ha tomado protagonismo en los distintos lenguajes de programación surgidos en las ultimas décadas, tal es así que ha formado un nuevo paradigma. Nuestro querido PHP incorpora trabajo orientado a objetos con todas las ventajas que este paradigma ofrece, así que veamos como implementarlo:

Procedemos a crear una clase, en este caso, llamada Perro:

Código :

class Perro {

Bueno, pero... ¿cuales serán las características de nuestro Perro, sus atributos?
Deberían ser, por ejemplo, el peso, el nombre, la raza... Entonces implementemos la definición de los atributos, que debrán ser privados para respetar el encapsulamiento en POO:

Código :

private $nombre;
private $peso;
private $raza;


Bien, ahora que definimos los atributos debemos distinguir un constructor (que es un tipo especial de función) de la siguiente forma:

Código :

public function __construct ($_nombre, $_peso, $_raza) {


Que toma por parámetros los valores de los atributos que tendrá nuestro Perro al construirse... ¿Cómo realizamos la asignación? Muy fácil:

Código :

$this->nombre = $_nombre;
$this->peso = $_peso;
$this->raza = $_raza;
}


Y ahora, para poder implementar el ejemplo, crearemos una función pública que nos devuelva los datos de nuestro perro concatenados en forma de oración:

Código :

public function toString() {
return ("Nombre: " . $this->nombre . ", Peso: " . $this->peso . ", Raza: " . $this->raza);
}
}


Con esto terminaríamos de crear nuestra idea de Perro, ahora deberíamos llevarla a la realidad creando a Toby:

Código :

// Creamos al labrador Toby con 45 kg de peso
$toby = new Perro ("Toby", 45, "Labrador");


Y ahora accedemos a su función pública de la forma siguiente, mostrando los datos de Toby en la pantalla:

Código :

echo $toby->toString();


Eso sería todo... La POO es una herramienta muy poderosa, solo queda adentrarse un poco más para ir complementando nuestro paradigma estructurado que prevalece entre los usuarios de PHP...
El código completo de Perro aquí:

Código :

class Perro {

private $nombre;
private $peso;
private $raza;

public function __construct ($_nombre, $_peso, $_raza) {
$this->nombre = $_nombre;
$this->peso      = $_peso;
$this->raza       = $_raza;
}

public function toString() {
return ("Nombre: " . $this->nombre . ", Peso: " . $this->peso . ", Raza: " . $this->raza);
}
}

// Creamos al labrador Toby con 45 kg de peso
$toby = new Perro ("Toby", 45, "Labrador");
// Mostramos "Nombre: Toby, Peso: 45, Raza: Labrador"
echo $toby->toString();

 


También te interesa


Etiquetas php

Comentarios | Enviar un comentario
Es un buen tip para iniciarse en la POO (y)
Por: Zguillez
Muy bueno el artículo. PHP es un grande dentro de los grandes y su facilidad hace que cada vez mas personas trabajen con él.
Tratemos de hacer un código cada vez mejor, programemos orientado a objetos!
Saludos a todos
Por: Pedro-blog
Sabes que existen métodos mágicos? y que uno precisamente es __toString()

Código :

class Perro { 
 
private $nombre; 
private $peso; 
private $raza; 
 
public function __construct ($_nombre, $_peso, $_raza) { 
$this->nombre = $_nombre; 
$this->peso      = $_peso; 
$this->raza       = $_raza; 
} 
 
public function toString() { 
return ("Nombre: " . $this->nombre . ", Peso: " . $this->peso . ", Raza: " . $this->raza); 
} 

public function __toString() { 
return ("Nombre: " . $this->nombre . ", Peso: " . $this->peso . ", Raza: " . $this->raza); 
} 

} 
 
// Creamos al labrador Toby con 45 kg de peso 
$toby = new Perro ("Toby", 45, "Labrador"); 
// Mostramos "Nombre: Toby, Peso: 45, Raza: Labrador" 
echo $toby->toString();
echo "<br />";
echo $toby;


saludos
Por: Maikel
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.