Temas > Programacion > Php > Declarar una clase y creacion de un objeto en php
Julio

Declaración de una clase y creación de un objeto
La programación orientada a objetos se basa en la programación
de clases; a diferencia de la programación estructurada, que está
centrada en las funciones.
Una clase es un molde del que luego se pueden crear múltiples
objetos, con similares características.
Un poco más abajo se define una clase Persona y luego se crean
dos objetos de dicha clase.
Una clase es una plantilla (molde), que define atributos (lo que
conocemos como variables) y métodos (lo que conocemos como
funciones). La clase define los atributos y métodos comunes a los
objetos de ese tipo, pero luego, cada objeto tendrá sus propios
valores y compartirán las mismas funciones.
Debemos crear una clase antes de poder crear objetos (instancias)
de esa clase. Al crear un objeto de una clase, se dice que se crea una
instancia de la clase o un objeto propiamente dicho.
Confeccionaremos nuestra primera clase para conocer la sintaxis en el
lenguaje PHP, luego definiremos dos objetos de dicha clase.
Implementaremos una clase llamada Persona que tendrá como atributo
(variable) su nombre y dos métodos (funciones), uno de dichos métodos
inicializará el atributo nombre y el siguiente método mostrará en la
página el contenido del mismo.
pagina1.php
<html>
<head>
<title>Pruebas</title>
</head>
<body>
<?php
class Persona {
   private $nombre;
   public function inicializar($nom)
   {
      $this->nombre=$nom;
   }
   public function imprimir()
   {
      echo $this->nombre;
      echo `<br>`;
   }
}
$per1=new Persona();
$per1->inicializar(`Juan`);
$per1->imprimir();
$per2=new Persona();
$per2->inicializar(`Ana`);
$per2->imprimir();
?>
</body>
</html>
La sintaxis básica para declarar una clase es:
class [Nombre de la Clase] {
   [atributos]
   [métodos]
}
Siempre conviene buscar un nombre de clase lo más próximo a lo
que representa. La palabra clave para declarar la clase es class,
seguidamente el nombre de la clase y luego encerramos entre llaves
de apertura y cerrado todos sus atributos(variable) y métodos(funciones).
Nuestra clase Persona queda definida entonces:
<?php
class Persona {
   private $nombre;
   public function inicializar($nom)
   {
      $this->nombre=$nom;
   }
   public function imprimir()
   {
      echo $this->nombre;
      echo `<br>`;
   }
}
?>
Los atributos normalmente son privados (private), ya veremos que
esto significa que no podemos acceder al mismo desde fuera de la clase.
Luego para definir los métodos se utiliza la misma sintaxis que las
funciones del lenguaje PHP.
Decíamos que una clase es un molde que nos permite definir objetos.
Ahora veamos cual es la sintaxis para la definición de objetos de la
clase
Persona:
<?php
$per1=new Persona();
$per1->inicializar(`Juan`);
$per1->imprimir();
?>
Definimos un objeto llamado $per1 y lo creamos asignándole lo que
devuelve el operador new. Siempre que queremos crear un objeto de
una clase utilizamos la sintaxis new [Nombre de la Clase].
Luego para llamar a los métodos debemos anteceder el nombre del
objeto el operador -> y por último el nombre del método. Para poder
llamar al método,éste debe ser definido público (con la palabra clave
public). En el caso que tenga parámetros se los enviamos: 
<?php
$per1->inicializar(`Juan`);
?>
También podemos ver que podemos definir tantos objetos de la clase
Persona como sean necesarios para nuestro algoritmo:
<?php
$per2=new Persona();
$per2->inicializar(`Ana`);
$per2->imprimir();
?>
Esto nos da una idea que si en una página WEB tenemos 2 menúes,
seguramente definiremos una clase Menu y luego crearemos dos
objetos de dicha clase.
Esto es una de las ventajas fundamentales de la Programación
Orientada a Objetos (POO), es decir reutilización de código
(gracias a que está encapsulada en clases) es muy sencilla.
Lo último a tener en cuenta en cuanto a la sintaxis de este primer
problema es que cuando accedemos a los atributos dentro de los
métodos debemos utilizar los operadores 
<?php
$this-> (this y ->):
   public function inicializar($nom)
   {
      $this->nombre=$nom;
   }
?>
El atributo $nombre solo puede ser accedido por los métodos de la
clase Persona.













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
    123
45678910
11121314151617
181920 21222324
252627282930 

Jueves 21 de Noviembre 2024
Semana 47

..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal