CLASES EN PHP

Hola que tal, hoy vamos a ver sobre las clases en PHP. En la parte de abajo estara el ejemplo el cual podan descargar….

Que es una Clase en PHP?

Una clase en programación es un esquema/modelo o plantilla para crear variables (objetos) basados en ella, básicamente es un conjunto de variables e instrucciones con un fin especifico, eso nos ayuda a tener una programación bastante ordenada, además que tiene otras opciones como la posibilidad de heredar sus propiedad y funciones a clases hijas para que estas las reutilicen o las redefinan. Es una colección de variables y funciones que trabajan con estas variables. Las variables se definen utilizando var y las funciones utilizando function.

De esta forma podemos accesar a sus variables y funciones:

$variable->VARIABLE_PUBLICA;
$variable->FUNCION_PUBLICA();
<<<<<<<<<<<<<<<<<<EJEMPLO>>>>>>>>>>>>>>>>>>>>>>>>
Esta es una clase que nos devuelve el promedio de notas de un alumno.

<?php

class Student{

public $nombre; //Se puede accesar desde el Objeto

public $notas = array(); //Se puede Accesar desde el Objeto

private $promedio; //solo es usado dentro de la clase y no es heredable (protected si es heredable)

public function __construct($arg_nombre=»»,$arg_notas=array()) //funcion que se autoejecuta cuando defines un objeto, le puedes poner argumentos de inicialización, por defecto todo es vacio

{

$this->nombre=$arg_nombre; //ponemos el argumento pasado cuando defines el objeto

$this->notas=$arg_notas;

}

public function promedio() //funcion que calcula el promedio, lo devuelve

{

$total=0;

foreach ($this->notas as $nota)

{

$total+=$nota; //acumulo las nota actual

}

$this->promedio=$total/4; //grabo el promedio de las 4 notas en la variable promedio, recuerde que las variables dentro de una clase se accesan con $this->

return $this->promedio; //retornamos el promedio

}

public function imprimir_notas() //imprime las notas en pantalla

{

$i=0;

foreach ($this->notas as $nota)

{

$i++;

echo «Nota $i es: $nota <br />»;

}

}

}

?>

Este seria el codigo en mi index.php, la clase se llama class_estudiante.php y se encuentra dentro de la carpeta /includes/

<?php

include(«./includes/class_estudiante.php»); //llamamos al archivo que contiene la clase

$miestudiante = new Student(«Wilsson»,array(10,15,16,20)); //Declaramos el Objeto con parametros que serán procesados por el construccior

$miestudiante->notas[3]=18; //la variable notas en la clase es publica, as que podemos manipularla directamente

$miestudiante->imprimir_notas(); //llamamos a la funcion que imprime las notas

echo «El promedio del estudiante <strong>» .$miestudiante->nombre. «</strong> es: «; //imprimos un mensaje con el nombre del estudiante

echo $miestudiante->promedio(); //llamamos a la funcion que imprime las notas una por una

?>

Debe imprimir lo siguiente:

Nota 1 es: 10
Nota 2 es: 15
Nota 3 es: 16
Nota 4 es: 18
El promedio del estudiante Wilsson es: 14.75

Como pueden ver, si la variable es publica se puede manipular, ademas que si definimos un constructor se puede instanciar las variables en la llama, de no existir el constructor de la clase el codigo seria de la siguiente manera:

<?php

include(«./includes/class_estudiante.php»); //llamamos al archivo que contiene la clase

$miestudiante = new Student; //Declaramos el Objeto del tipo Student

$miestudiante->notas[0]=10;

$miestudiante->notas[1]=15;

$miestudiante->notas[2]=16;

$miestudiante->notas[3]=18; //la variable notas en la clase es publica, as que podemos manipularla directamente

$miestudiante->imprimir_notas(); //llamamos a la funcion que imprime las notas

echo «El promedio del estudiante <strong>» .$miestudiante->nombre. «</strong> es: «; //imprimos un mensaje con el nombre del estudiante

echo $miestudiante->promedio(); //llamamos a la funcion que imprime las notas una por una

?>

 Las clases nos ayudan para facilita la estructura del código y como lo utilizamos. Una clase sin duda es mas mas largo que escribir el codigo directamente pero a la larga es mas rentable hacia otras aplicaciones y su mantenimiento.
Soy un ejemplo descargame aquiiiiiii……

Deja un comentario