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();
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por Zguillez el 22 de Septiembre de 2008
Por Pedro el 07 de Septiembre de 2009
Tratemos de hacer un código cada vez mejor, programemos orientado a objetos!
Saludos a todos
Por Maikel el 01 de Octubre de 2009
Código :
saludos
Por Edward Mercedes el 05 de Mayo de 2011