php5 constructores y herencia

0

Por admin | Para la categoría de php | noticia del 13-08-2009

En anteriores post sobre php habíamos visto algun ejemplo relacionado con la programación orientada a objetos y la declaración de una clase en php4. Actualmente la versión más reciente de php es la cinco y en ella se ha dotado al lenguaje php de las características propias de un lenguaje POO.

Para declarar la clase utilizamos la palabra reservada “class” al igual que en la versión php4, pero el constructor de la clase utiliza para su declaración la palabra reservada “__construct” doble siguión bajo seguido.

Para que una clase hija herede las propiedades y los métodos de la clase padre se utiliza la palabra reservada “extends” en la declaración de la cabecera de la clase hija.

En la clase hija “Apellidos” desde su constructor se llama al constructor de la clase padre “Nombre” mediante
“Nombre:: __construct($nombre);” Nombre de la clase padre :: __construct(lista de argumentos si los necesita);


la declaración de las propiedades de la clase, vemos como en php5 no necesitamos la palabra reservada var como en php4 y simplemente con $nombrevarialble ya tenemos la propiedad creada. En la declaración de la propiedad podemos acompañar con los modificadores de ambito “public”, “private” y “protected”

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
 
 class Nombre
 {
   protected $nombre;
 
   function __construct($nombre)
   {
     $this->nombre=$nombre;
 
   }
 
   public function getNombre()
   {
     return $this->nombre;
   }
 
   public function setNombre($nombre)
   {
     $this->nombre=$nombre;
   }   
 
 }
 
 
 class Apellidos extends Nombre
 {
   protected $apellidos;
 
   function __construct($nombre,$apellidos)
   {
     $this->apellidos = $apellidos;
 
	 //llamamos la constructor padre
	 Nombre:: __construct($nombre);
   }
 
   public function getApellidos()
   {
     return $this->getNombre()." ".$this->apellidos;
 
   }
 
 
 }
 
 $ape= new Apellidos("pepe","perez");
 echo "el nombre del sujeto es </br>";
 echo $ape->getApellidos();
 
?>

construct

Escribe un comentario