SlideShare una empresa de Scribd logo
Clases y objetos


Clases y objetos
                                      El ejemplo más simple

Aunque PHP no es un lenguaje            En este ejemplo podemos ver como utilizar una clase para definir una plantilla que va a
orientado a objetos, sí tiene         multiplicar siete por ocho y que nos va a devolver el resultado de esa operación cada vez que
recursos que permiten definir         sea invocada.
clases y construir objetos.

El uso de clases y objetos no          <?
añade ninguna funcionalidad            class Multiplica{
nueva a las posibilidades de PHP.            var $factor1=7;
Su verdadera utilidad es la de               var $factor2=8;
hacer la programación de otra                function curratelo(){
manera, con un código más legible                 echo $this->factor1*$this->factor2;
y reutilizable.                                 }
                                       }
Las clases                                  $objeto= new Multiplica;
                                            $objeto->curratelo();
Una clase no es otra cosa que una        ?>
especie de plantilla en la que se
pueden definir una serie de
variables –que pueden contener                                           Ver ejemplo70.php
valores predefinidos– y un
conjunto de funciones que
pueden ser invocadas desde            Invocando varias veces el mismo objeto
cualquier parte del documento.

La sintaxis es la siguiente:
                                      En este ejemplo puedes observar cómo al invocar dos veces a $objeto el valor que nos devuelve
                                      es el resultado de la última llamada y también como se pueden crear dos objetos distintos.
class nombre {
....
... definición de variables....        <?
....                                   class Multiplica{
.. constructores (opcional)...               var $resultado;
....                                         function curratelo($a,$b){
.. definición de funciones...                  $this->resultado=$a*$b;
....                                            }
}                                            function imprimelo(){
Vayamos por partes.
                                                  echo $this->resultado,"<br>";
                                                }
Dentro de una clase podemos            }
definir las variables que serán             $objeto= new Multiplica;
utilizadas por sus funciones                $objeto->curratelo(7,3);
internas y a las que es posible (no         $objeto->curratelo(11,4);
es imprescindible hacerlo) asignar          $objeto1= new Multiplica;
valores.                                    $objeto1->curratelo(-23,11);
Para definir una variable es                $objeto->imprimelo();
obligatorio anteponer var a su              $objeto1->imprimelo();
nombre y en el caso de que               ?>
tratemos de asignarle un valor,
bastará con poner detrás del
nombre el signo = seguido del                                            Ver ejemplo71.php
valor.

Ni que decir tiene que el nombre      Recogiendo resultados en un array
de la variable utiliza la sintaxis
habitual de PHP y que si los
valores asignados son tipo cadena     En este ejemplo vemos cómo se puede invocar reiteradamente una función utilizando el mismo
tienen que ir entre comillas.         objeto y como pueden recogerse esos resultados en un array.

var $pepe="Jose"
                                       <?
es una sintaxis válida, pero           class Multiplica{
                                           var $resultado;
$pepe="Jose"                               var $indice=0;
no lo es, le falta el var y si lo
                                           function curratelo($a,$b){
escribimos así nos dará un error.
                                              $this->resultado[$this->indice]=$a*$b;
Más adelante hablaremos de los                $this->indice++;
constructores, pero dado su                    }
carácter opcional veamos antes las
funciones.                                 function imprimelo(){
                                               foreach($this->resultado as $valor){
Las funciones definidas dentro de                   echo $valor,"<br>";
las clases tienen una sintaxis
                                                }
idéntica al resto de las funciones
PHP con una salvedad importante:
                                           }

Siempre que desde una función –        }
contenida en una clase– se trate
de invocar una variable definida           $objeto= new Multiplica;
en la misma clase ha de hacerse
con la siguiente sintaxis:                 $objeto->curratelo(7,3);
                                           $objeto->curratelo(11,4);
$this->variable
                                           $objeto->curratelo(-23,11);
Prestemos mucha atención. El $ va          $objeto->imprimelo();
siempre delante de la palabra           ?>
this y solo se escribe una vez y
en esa posición.
El nombre de la variable (que va                                         Ver ejemplo72.php
siempre después de -> no lleva
pegado el $.
                                      Ejemplos de uso de un constructor
¡Observa los ejemplos!
Crear y utilizar objetos
                                       <?
Las clases son solo plantillas y sus   class Multiplica{
funciones no se ejecutan hasta             var $factor1=7;
que se les ordene.                         var $factor2=8;
                                           function Multiplica(){
Para poder utilizarlas primero                 print $this->factor1*$this->factor2."<br>";
debemos crear un objeto y luego            }
ejecutar sobre ese objeto la           }
función o funciones que deseemos.

Creación de objetos                        $objeto= new Multiplica;

Para crear un objeto en el que se       ?>
vaya a utilizar una clase
determinada debemos usar la
siguiente sintaxis:                                                   Ver ejemplo73.php

$nombre = new clase

donde nombre es una palabra
                                       <?
cualquiera con la que identificar el
objeto (como si se tratara de una      class Multiplica{
variable) y clase es el nombre de
una de las clases definidas.                 var $producto;

¡Cuidado!                                    function Multiplica($a=3,$b=7){
                                                 $this->producto=$a*$b;
Fíjate que detrás del nombre de la
                                                 print $this->producto."<br>";
clase no hemos puesto los ()
que suelen utilizarse para invocar           }
las funciones.                         }
                                           $objeto= new Multiplica;
Utilizando objetos
                                           $objeto->Multiplica(90,47);
Una vez definido un objeto ya se
le pueden aplicar las funciones
                                           $objeto->Multiplica(47);
definidas en la clase. La sintaxis
es la siguiente:
                                           $objeto->Multiplica();
$nombre->funcion()

Donde $nombre es la misma             ?>
variable utilizada a la hora de
crear el objeto, el -> es
obligatorio, funcion es el nombre                                       Ver ejemplo74.php
de una de las funciones
definidas en la clase invocada y
donde los () sí son obligatorios y Un ejemplo más completo
además -como ocurría en las
demás funciones PHP- puede
contener valores, variables,          En este ejemplo puedes ver como el constructor crea automáticamente los valores de la
etcétera separadas por comas.      primera fila de la tabla resultante.

Reiterando
llamadas a objetos
                                       <?
Si hacemos varias llamadas a una       Class Operaciones {
función utilizando el mismo objeto         var $inicializada=32;
los resultados se van                      var $num1;
sobrescribiendo sobre los de la            var $num2;
llamada anterior.                          var $suma;
Si queremos conservar varios
                                           var $diferencia;
resultados obtenidos de la                 var $producto;
aplicación de la misma función             var $cociente;
tenemos dos opciones:                      var $contador=0;
                                             function Operaciones ($val1=45,$val2=55){
    s   Crear varios objetos
                                               $this->contador +=1;
    s   Utilizar arrays                        $c=$this->contador;
                                               $this->num1[$this->contador]=$val1;
                                               $this->num2[$c]=$val2;
En los ejemplos podemos ver
                                               $this->suma[$c]=$val1+$val2;
ambos supuestos.
                                               $this->diferencia[$c]=$val1-$val2;
                                               $this->producto[$c]=$val1*$val2;
Constructores                                  $this->cociente[$c]=$this->inicializada*$val1/$val2;
                                                      }
Cuando se define una función cuyo
nombre es idéntico al de la clase
que la contiene recibe el nombre              function imprime(){
de constructor.                                    print "<table align=center border=1>";
                                                   print "<td>Num 1</td><td>num2</td><td>Suma</td>";
Esa función -el constructor- se
                                                   print "<td>Diferencia</td><td>Producto</td><td>Cociente</td><tr>";
ejecuta de forma automática en el
momento en que se define un                        foreach($this->num1 as $clave=>$valor){
nuevo objeto (new)                                     print "<td align=center>".$valor."</td>";
                                                       print "<td align=center>".$this->num2[$clave]."</td>";
Según como esté definido, el                           print "<td align=center>".$this->suma[$clave]."</td>";
constructor puede ejecutarse de                        print "<td align=center>".$this->diferencia[$clave]."</td>";
distintas formas:                                      print "<td align=center>".$this->producto[$clave]."</td>";
                                                       print "<td align=center>".$this->cociente[$clave]."</td><tr>";
• Con los valores predefinidos en
las variables de la clase.
                                              }
                                                print "</table>";
• Mediante la asignación de
valores preestablecidos en los              }
propios parámetros de la función       }
constructor.                           $objeto= new Operaciones;
En el ejemplo puedes ver la
sintaxis de esta forma en la que se
                                       for ($i=1;$i<11;$i++){
                                           for ($j=1;$j<11;$j++){
le asignan los valores 3 y 7 a las
                                                   $objeto -> Operaciones($i,$j);
variables $a y $b.
                                                      }
En el mismo ejemplo puedes ver           }
también la utilidad añadida del
constructor.                             $objeto-> imprime();

Cuando se le pasan valores la            ?>
función se ejecuta sin tomar en
consideración los asignados por
defecto en la función y cuando se                                          Ver ejemplo75.php
le pasan sólo parte de esos
valores utiliza los valores
recibidos y para los no asignados       Un ejemplo de clase extendida
en la llamada utiliza los valores del
constructor.
                                          En este ejemplo puedes ver como las clases extendidas utilizan variables de la clase padre,
                                        pueden tener constructores propios pero solo ejecutan su propio constructor pero no el
Clases extendidas
                                        de la clase padre.

PHP también tiene la posibilidad de     Para que el constructor de la clase padre sea ejecutado desde la clase extendida tiene que ser
crear clases extendidas cuya            invocado expresamente.
virtud es poder disponer tanto de
variables y funciones propias como
de todas las variables y funciones       <?
de la clase padre.                       class Multiplica{

Sintaxis de las clases                         var $factor1=7;
extendidas                                     var $factor2=8;

                                               function Multiplica(){
Para crear clases extendidas se
                                                   print $this->factor1*$this->factor2."<br>";
requiere utilizar la siguiente
sintaxis:
                                                   print "Esto está en el constructor de la clase padre<br>";
                                               }
class nuev extends base {                }
....
... definición de variables....          class MeSeOlvido extends Multiplica{
....
.. constructores (opcional)...                var $divisor=5;
....                                          function MeSeOlvido(){
.. definición de funciones...
                                                   print $this->factor1*$this->factor2/$this->divisor."<br>";
....
                                              }
}
                                         }
Como habrás podido deducir nuev
es el nombre de la nueva clase (la       $objeto= new MeSeOlvido;
extendida), base es el nombre de
la clase padre y extens es la            $objeto->Multiplica();
palabra clave que indica a PHP que        ?>
se trata de una clase extendida.

PHP no permite las herencias                                               Ver ejemplo76.php
múltiples. No es posible crear una
clase extendida de otra clase
extendida.
                                        Ejemplo de funciones PHP con clases y objetos
Funciones con Clases y
                                        En este ejemplo puedes comprobar que las clases pueden escribirse en ficheros externos y
objetos                                 posteriormente ser incluidas en un script PHP mediante la función include.

Existen algunas funciones que
                                         <?
pueden resultarte útiles a la hora
de trabajar con clases y objetos.        include("ejemplo75.php");
Son las siguientes:
                                         $busca="imprima";
method_exists(obj, func)
                                         if(method_exists ( $objeto, $busca)){
Comprueba si está definida la                echo "Existe la función $busca <br>";
función func (función y método
                                         }else{
son sinónimos) en el objeto obj.
                                             echo "No existe la función $busca <br>";
Devuelve un valor booleano. Cierto       }
(true) en el caso de que exista esa
función y falso en el caso de que        $r=get_class_vars ("Operaciones");
no exista.                               foreach ($r as $pepe=>$pepito){
                                             echo "$pepe -->$pepito<br>";
get_class_vars(clase)
                                         }
Crea un array asociativo cuyos
índices son los nombres de las           $s=get_class_methods("Operaciones");
variables y cuyos valores coinciden      foreach($s as $clave){
con los valores preasignados a               echo $clave,"<br>";
cada una de esas variables.              }
                                         print_r(get_object_vars($objeto));
En este array solo se recogen las        ?>
variables que han sido inicializadas
asignándoles un valor.

get_class_methods(clas)
                                                                           Ver ejemplo77.php
Devuelve un array conteniendo los
valores de todos los métodos            Ejemplo de utilización de ::
(funciones) definidas en la clase
clas.
                                         <?
get_object_var(obj)                      class A {
                                             function ejemplo() {
Devuelve todas las variables (y
sus valores) contenidas en el                    echo "Este es el resultado de la función ejemplo<br>";
objeto obj.                                      }
                                         }
La llamada ::                            # llamo a la funcion sin crear un nuevo objeto
# usando ::
PHP permite llamar a una función       A::ejemplo();
definida en una clase sin
necesidad de crear un objeto.          #ahora creo el objeto $b y llamo a la función
La sintaxis es la siguiente:
                                       $b = new A;
clase :: funcion()                     $b->ejemplo();
                                       ?>
donde clase es el nombre de una
clase y funcion() es una función
definida dentro de esa clase.                                       ejemplo78.php
Su funcionalidad es la misma que
si escribiéramos:
                                      Métodos con el mismo nombre
$nombre = new clase

$nombre -> funcion ()
                                       <?
Métodos con                            # creamos una clase padre
el mismo nombre                        class Padre{
                                          function prueba() {
                                               echo "Esto está en la función prueba de la clase PADRE<br>";
Los objetos de clases extendidas
                                           }
pueden usar tanto las funciones
contenidas en la propia clase
                                       }
extendida como en la clase padre.
Sin embargo se puede plantear          # creamos una clase extendida (Hija) con una funcion de igual nombre
una situación (tendremos               # funcion ejemplo
oportunidad de verla en los temas      class Hija extends Padre{
relativos a los ficheros PDF) en la       function prueba(){
que existan dos funciones con                  echo "Esto está en la función prueba de la clase HIJA<br>";
idéntico nombre, una en la clase           }
extendida y otra en la clase padre.    # creamos un nuevo objeto de la clase hija que invoque
                                       # ambas pruebas, la de la clase hija y la de la clase padre
En esa situación, siempre que se
invoque el método, se ejecutará el         function ambas(){
incluido de la clase para la que se             print "Ejecución de la función ambas<br>";
haya definido el objeto.                        # mediante $this-> requerimos la ejecución de metodo prueba
                                                # de la clase actual
En el ejemplo puedes ver las                    $this->prueba();
diferentes opciones posibles -                  # al señalar parent:: requerimos la ejecución de metodo prueba
objetos creados sobre ambas                     # de la clase padre
clases- y también las, ya
                                                parent::prueba();
comentadas, de ejecución de los
                                           }
métodos sin creación previa de
objetos mediante la sintaxis:          }
                                       # creamos un objeto de la clase padre y por tanto invocará
nombre_clase :: metodo()               # los métodos contenidos en esa clase sin considerar los de la
                                       # clase extendida.
En este caso, si el método se          $objeto1 =new Padre();
invoca desde una función de la         print "<BR>Ejecutamos el método prueba().
clase extendida en vez de escribir
                                                         El $objeto1 utiliza la clase padre<br>";
el nombre asignado a la clase
padre se especifica la referencia a
                                       $objeto1->prueba();
esta mediante la palabra: parent       # creamos un nuevo objeto sobre la clase extendida.
                                       # Podrán invocarse métodos de la clase padre y de la extendida
                                       # pero si coinciden los nombres de esos métodos prevalecerá
Bibliotecas de clases                  # el de la clase extendida.
                                       $objeto2 =new Hija();
Una de las ventajas más                print "<BR>Ejecutamos el método prueba().
importantes de las clases es la                          El $objeto2 utiliza la clase Hija<br>";
posibilidad de reutilización de        $objeto2->prueba();
rutinas -propias o desarrolladas
por otros- en nuestros scripts.
                                       print "<BR>Ejecutamos el método ambas()<br>";
Existen algunos sitios en la red en
                                       # aquí invocamos otro método de la clase extendida
los que pueden obtener una gran
cantidad de materiales de este         $objeto2->ambas();
tipo. Uno de los sitios más            # también podemos invocar el método de la clase que deseemos sin crear el
populares puedes encontrarlo en la     objeto
dirección: phpclasses.org.             Print "<br>Ahora vamos a usar Padre::Prueba()<br>";
                                       Padre::Prueba();
Trataremos con una cierta              Print "<br>Ahora vamos a usar Hija::Prueba()<br>";
profundidad la forma de utilización    Hija::Prueba();
de estas clases de terceros en los     ?>
apartados relativos a la creación
de ficheros en formato PDF.
                                                                    Ejecutar ejemplo

                                                  Anterior                   Indice                  Siguiente

Más contenido relacionado

La actualidad más candente

Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
Fer Nando
 
Clase 7 objetos globales de javaScript
Clase 7 objetos globales de javaScriptClase 7 objetos globales de javaScript
Clase 7 objetos globales de javaScript
José Ricardo Tillero Giménez
 
Clase 5 funciones en javaScript
Clase 5 funciones en javaScriptClase 5 funciones en javaScript
Clase 5 funciones en javaScript
José Ricardo Tillero Giménez
 
Introduccio al Java
Introduccio al JavaIntroduccio al Java
Introduccio al Java
Marc Soler Camps
 
Clase 6 objetos de javaScript
Clase 6 objetos de javaScriptClase 6 objetos de javaScript
Clase 6 objetos de javaScript
José Ricardo Tillero Giménez
 
Clase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpooClase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpoo
jorg_marq
 
Php
PhpPhp
Php
cecusme
 
Ruby intro
Ruby introRuby intro
Ruby intro
Miguel Fernández
 
Herencia clase
Herencia claseHerencia clase
Herencia clase
Jose Antonio
 
Arreglos php
Arreglos phpArreglos php
Arreglos php
jbersosa
 
php Fundamentos
php Fundamentos php Fundamentos
php Fundamentos
Alexys González
 
Ensayo iv
Ensayo ivEnsayo iv
Ensayo iv
ariasnicola
 
76 Php. Insercion De Imagenes Y Elementos Graficos
76 Php. Insercion De Imagenes Y Elementos Graficos76 Php. Insercion De Imagenes Y Elementos Graficos
76 Php. Insercion De Imagenes Y Elementos Graficos
José M. Padilla
 
P2C2 Introducción a JEE5
P2C2 Introducción a JEE5P2C2 Introducción a JEE5
P2C2 Introducción a JEE5
Aurelio Martín Obando Távara
 
Clase 2 Poo
Clase 2 PooClase 2 Poo
Clase 2 Poo
Andres Garcia
 
Drupal7 para desarrolladores
Drupal7 para desarrolladoresDrupal7 para desarrolladores
Drupal7 para desarrolladores
Pedro Cambra
 
2.android java
2.android   java2.android   java
2.android java
guidotic
 
Java script teoria
Java script teoriaJava script teoria
Java script teoria
ssxdan
 
C2 fundamentos de java v2
C2 fundamentos de java v2C2 fundamentos de java v2
C2 fundamentos de java v2
Mariano Galvez
 
SeúDocodigo
SeúDocodigoSeúDocodigo
SeúDocodigo
martha leon
 

La actualidad más candente (20)

Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
 
Clase 7 objetos globales de javaScript
Clase 7 objetos globales de javaScriptClase 7 objetos globales de javaScript
Clase 7 objetos globales de javaScript
 
Clase 5 funciones en javaScript
Clase 5 funciones en javaScriptClase 5 funciones en javaScript
Clase 5 funciones en javaScript
 
Introduccio al Java
Introduccio al JavaIntroduccio al Java
Introduccio al Java
 
Clase 6 objetos de javaScript
Clase 6 objetos de javaScriptClase 6 objetos de javaScript
Clase 6 objetos de javaScript
 
Clase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpooClase2 ejemplosdeenumpoo
Clase2 ejemplosdeenumpoo
 
Php
PhpPhp
Php
 
Ruby intro
Ruby introRuby intro
Ruby intro
 
Herencia clase
Herencia claseHerencia clase
Herencia clase
 
Arreglos php
Arreglos phpArreglos php
Arreglos php
 
php Fundamentos
php Fundamentos php Fundamentos
php Fundamentos
 
Ensayo iv
Ensayo ivEnsayo iv
Ensayo iv
 
76 Php. Insercion De Imagenes Y Elementos Graficos
76 Php. Insercion De Imagenes Y Elementos Graficos76 Php. Insercion De Imagenes Y Elementos Graficos
76 Php. Insercion De Imagenes Y Elementos Graficos
 
P2C2 Introducción a JEE5
P2C2 Introducción a JEE5P2C2 Introducción a JEE5
P2C2 Introducción a JEE5
 
Clase 2 Poo
Clase 2 PooClase 2 Poo
Clase 2 Poo
 
Drupal7 para desarrolladores
Drupal7 para desarrolladoresDrupal7 para desarrolladores
Drupal7 para desarrolladores
 
2.android java
2.android   java2.android   java
2.android java
 
Java script teoria
Java script teoriaJava script teoria
Java script teoria
 
C2 fundamentos de java v2
C2 fundamentos de java v2C2 fundamentos de java v2
C2 fundamentos de java v2
 
SeúDocodigo
SeúDocodigoSeúDocodigo
SeúDocodigo
 

Similar a 53 Php. Clases Y Objetos

50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores
José M. Padilla
 
Perl3 subrutinas
Perl3 subrutinasPerl3 subrutinas
Perl3 subrutinas
Alfonso Alba
 
49 Php. Funciones De Usuario
49 Php. Funciones De Usuario49 Php. Funciones De Usuario
49 Php. Funciones De Usuario
José M. Padilla
 
Clase 2
Clase 2 Clase 2
Clase 2
Willy Aguirre
 
Lab herencia
Lab herenciaLab herencia
PHP mode on
PHP mode onPHP mode on
PHP mode on
Teolinda González
 
Matrices en php diaspositivas
Matrices en php diaspositivasMatrices en php diaspositivas
Matrices en php diaspositivas
ariasnicola
 
Guia poo php
Guia poo phpGuia poo php
Guia poo php
lissette_torrealba
 
Php
PhpPhp
Curso Drupal. Creacion de modulos en Drupal
Curso Drupal. Creacion de modulos en DrupalCurso Drupal. Creacion de modulos en Drupal
Curso Drupal. Creacion de modulos en Drupal
Mediaglobe Innova
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en php
Robert Moreira
 
Arrays en PHP y Funciones de Mysql
Arrays en PHP y Funciones de MysqlArrays en PHP y Funciones de Mysql
Arrays en PHP y Funciones de Mysql
Creativos Online S.A
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional
Juan Rodríguez
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
Ramiro Estigarribia Canese
 
10.herencia en c++
10.herencia en c++10.herencia en c++
10.herencia en c++
Ramiro Estigarribia Canese
 
Descubriendo scala
Descubriendo scalaDescubriendo scala
Descubriendo scala
nluaces
 
10 sintaxis oo
10 sintaxis oo10 sintaxis oo
10 sintaxis oo
Claribel Eusebio Nolasco
 
El lenguaje C++ (1).ppt
El lenguaje C++ (1).pptEl lenguaje C++ (1).ppt
El lenguaje C++ (1).ppt
JOSECASHUUG
 
El lenguaje C++.ppt
El lenguaje C++.pptEl lenguaje C++.ppt
El lenguaje C++.ppt
John Harold Bonilla
 
PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02
Eddye Arturo Sanchez Castillo
 

Similar a 53 Php. Clases Y Objetos (20)

50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores50 Php. Funciones Que Devuelven Valores
50 Php. Funciones Que Devuelven Valores
 
Perl3 subrutinas
Perl3 subrutinasPerl3 subrutinas
Perl3 subrutinas
 
49 Php. Funciones De Usuario
49 Php. Funciones De Usuario49 Php. Funciones De Usuario
49 Php. Funciones De Usuario
 
Clase 2
Clase 2 Clase 2
Clase 2
 
Lab herencia
Lab herenciaLab herencia
Lab herencia
 
PHP mode on
PHP mode onPHP mode on
PHP mode on
 
Matrices en php diaspositivas
Matrices en php diaspositivasMatrices en php diaspositivas
Matrices en php diaspositivas
 
Guia poo php
Guia poo phpGuia poo php
Guia poo php
 
Php
PhpPhp
Php
 
Curso Drupal. Creacion de modulos en Drupal
Curso Drupal. Creacion de modulos en DrupalCurso Drupal. Creacion de modulos en Drupal
Curso Drupal. Creacion de modulos en Drupal
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en php
 
Arrays en PHP y Funciones de Mysql
Arrays en PHP y Funciones de MysqlArrays en PHP y Funciones de Mysql
Arrays en PHP y Funciones de Mysql
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
10.herencia en c++
10.herencia en c++10.herencia en c++
10.herencia en c++
 
Descubriendo scala
Descubriendo scalaDescubriendo scala
Descubriendo scala
 
10 sintaxis oo
10 sintaxis oo10 sintaxis oo
10 sintaxis oo
 
El lenguaje C++ (1).ppt
El lenguaje C++ (1).pptEl lenguaje C++ (1).ppt
El lenguaje C++ (1).ppt
 
El lenguaje C++.ppt
El lenguaje C++.pptEl lenguaje C++.ppt
El lenguaje C++.ppt
 
PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02PPH MySql - FIEI - UNFV Clase02
PPH MySql - FIEI - UNFV Clase02
 

Más de José M. Padilla

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
José M. Padilla
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0
José M. Padilla
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busqueda
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
José M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
José M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
José M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
José M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
José M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
José M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
José M. Padilla
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
José M. Padilla
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
José M. Padilla
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
José M. Padilla
 

Más de José M. Padilla (20)

Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERTInforme Riesgos y amenazas en cloud computing. INTECTO-CERT
Informe Riesgos y amenazas en cloud computing. INTECTO-CERT
 
Manual multimedia y web 2.0
Manual multimedia y web 2.0Manual multimedia y web 2.0
Manual multimedia y web 2.0
 
Guia optimizacion motores_busqueda
Guia optimizacion motores_busquedaGuia optimizacion motores_busqueda
Guia optimizacion motores_busqueda
 
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
Modulo 2. Sonido Y Musica Por Ordenador. 08 Partituras. Note Pad 2004
 
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody AssistantModulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
Modulo 2. Sonido Y Musica Por Ordenador. 10 Karaoke 2. Melody Assistant
 
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke PlayerModulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
Modulo 2. Sonido Y Musica Por Ordenador. 09 Karaoke 1. Van Basco Karaoke Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower AmpModulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
Modulo 2. Sonido Y Musica Por Ordenador. 07 Conversor. D Bpower Amp
 
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track StudioModulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
Modulo 2. Sonido Y Musica Por Ordenador. 06 Secuenciador. N Track Studio
 
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
 

Último

actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
aljitagallego
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Festibity
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
YaniEscobar2
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
NicandroMartinez2
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
mantenimientocarbra6
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 

Último (20)

actividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañerosactividad 2 tecnologia (3).pdf junto con mis compañeros
actividad 2 tecnologia (3).pdf junto con mis compañeros
 
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdfInformació Projecte Iniciativa TIC SOPRA STERIA.pdf
Informació Projecte Iniciativa TIC SOPRA STERIA.pdf
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
computacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADOcomputacion global 3.pdf pARA TERCER GRADO
computacion global 3.pdf pARA TERCER GRADO
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Refrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y ForzadoRefrigeradores Samsung Modo Test y Forzado
Refrigeradores Samsung Modo Test y Forzado
 
Manual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computoManual Web soporte y mantenimiento de equipo de computo
Manual Web soporte y mantenimiento de equipo de computo
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 

53 Php. Clases Y Objetos

  • 1. Clases y objetos Clases y objetos El ejemplo más simple Aunque PHP no es un lenguaje En este ejemplo podemos ver como utilizar una clase para definir una plantilla que va a orientado a objetos, sí tiene multiplicar siete por ocho y que nos va a devolver el resultado de esa operación cada vez que recursos que permiten definir sea invocada. clases y construir objetos. El uso de clases y objetos no <? añade ninguna funcionalidad class Multiplica{ nueva a las posibilidades de PHP. var $factor1=7; Su verdadera utilidad es la de var $factor2=8; hacer la programación de otra function curratelo(){ manera, con un código más legible echo $this->factor1*$this->factor2; y reutilizable. } } Las clases $objeto= new Multiplica; $objeto->curratelo(); Una clase no es otra cosa que una ?> especie de plantilla en la que se pueden definir una serie de variables –que pueden contener Ver ejemplo70.php valores predefinidos– y un conjunto de funciones que pueden ser invocadas desde Invocando varias veces el mismo objeto cualquier parte del documento. La sintaxis es la siguiente: En este ejemplo puedes observar cómo al invocar dos veces a $objeto el valor que nos devuelve es el resultado de la última llamada y también como se pueden crear dos objetos distintos. class nombre { .... ... definición de variables.... <? .... class Multiplica{ .. constructores (opcional)... var $resultado; .... function curratelo($a,$b){ .. definición de funciones... $this->resultado=$a*$b; .... } } function imprimelo(){ Vayamos por partes. echo $this->resultado,"<br>"; } Dentro de una clase podemos } definir las variables que serán $objeto= new Multiplica; utilizadas por sus funciones $objeto->curratelo(7,3); internas y a las que es posible (no $objeto->curratelo(11,4); es imprescindible hacerlo) asignar $objeto1= new Multiplica; valores. $objeto1->curratelo(-23,11); Para definir una variable es $objeto->imprimelo(); obligatorio anteponer var a su $objeto1->imprimelo(); nombre y en el caso de que ?> tratemos de asignarle un valor, bastará con poner detrás del nombre el signo = seguido del Ver ejemplo71.php valor. Ni que decir tiene que el nombre Recogiendo resultados en un array de la variable utiliza la sintaxis habitual de PHP y que si los valores asignados son tipo cadena En este ejemplo vemos cómo se puede invocar reiteradamente una función utilizando el mismo tienen que ir entre comillas. objeto y como pueden recogerse esos resultados en un array. var $pepe="Jose" <? es una sintaxis válida, pero class Multiplica{ var $resultado; $pepe="Jose" var $indice=0; no lo es, le falta el var y si lo function curratelo($a,$b){ escribimos así nos dará un error. $this->resultado[$this->indice]=$a*$b; Más adelante hablaremos de los $this->indice++; constructores, pero dado su } carácter opcional veamos antes las funciones. function imprimelo(){ foreach($this->resultado as $valor){ Las funciones definidas dentro de echo $valor,"<br>"; las clases tienen una sintaxis } idéntica al resto de las funciones PHP con una salvedad importante: } Siempre que desde una función – } contenida en una clase– se trate de invocar una variable definida $objeto= new Multiplica; en la misma clase ha de hacerse con la siguiente sintaxis: $objeto->curratelo(7,3); $objeto->curratelo(11,4); $this->variable $objeto->curratelo(-23,11); Prestemos mucha atención. El $ va $objeto->imprimelo(); siempre delante de la palabra ?> this y solo se escribe una vez y en esa posición. El nombre de la variable (que va Ver ejemplo72.php siempre después de -> no lleva pegado el $. Ejemplos de uso de un constructor ¡Observa los ejemplos!
  • 2. Crear y utilizar objetos <? Las clases son solo plantillas y sus class Multiplica{ funciones no se ejecutan hasta var $factor1=7; que se les ordene. var $factor2=8; function Multiplica(){ Para poder utilizarlas primero print $this->factor1*$this->factor2."<br>"; debemos crear un objeto y luego } ejecutar sobre ese objeto la } función o funciones que deseemos. Creación de objetos $objeto= new Multiplica; Para crear un objeto en el que se ?> vaya a utilizar una clase determinada debemos usar la siguiente sintaxis: Ver ejemplo73.php $nombre = new clase donde nombre es una palabra <? cualquiera con la que identificar el objeto (como si se tratara de una class Multiplica{ variable) y clase es el nombre de una de las clases definidas. var $producto; ¡Cuidado! function Multiplica($a=3,$b=7){ $this->producto=$a*$b; Fíjate que detrás del nombre de la print $this->producto."<br>"; clase no hemos puesto los () que suelen utilizarse para invocar } las funciones. } $objeto= new Multiplica; Utilizando objetos $objeto->Multiplica(90,47); Una vez definido un objeto ya se le pueden aplicar las funciones $objeto->Multiplica(47); definidas en la clase. La sintaxis es la siguiente: $objeto->Multiplica(); $nombre->funcion() Donde $nombre es la misma ?> variable utilizada a la hora de crear el objeto, el -> es obligatorio, funcion es el nombre Ver ejemplo74.php de una de las funciones definidas en la clase invocada y donde los () sí son obligatorios y Un ejemplo más completo además -como ocurría en las demás funciones PHP- puede contener valores, variables, En este ejemplo puedes ver como el constructor crea automáticamente los valores de la etcétera separadas por comas. primera fila de la tabla resultante. Reiterando llamadas a objetos <? Si hacemos varias llamadas a una Class Operaciones { función utilizando el mismo objeto var $inicializada=32; los resultados se van var $num1; sobrescribiendo sobre los de la var $num2; llamada anterior. var $suma; Si queremos conservar varios var $diferencia; resultados obtenidos de la var $producto; aplicación de la misma función var $cociente; tenemos dos opciones: var $contador=0; function Operaciones ($val1=45,$val2=55){ s Crear varios objetos $this->contador +=1; s Utilizar arrays $c=$this->contador; $this->num1[$this->contador]=$val1; $this->num2[$c]=$val2; En los ejemplos podemos ver $this->suma[$c]=$val1+$val2; ambos supuestos. $this->diferencia[$c]=$val1-$val2; $this->producto[$c]=$val1*$val2; Constructores $this->cociente[$c]=$this->inicializada*$val1/$val2; } Cuando se define una función cuyo nombre es idéntico al de la clase que la contiene recibe el nombre function imprime(){ de constructor. print "<table align=center border=1>"; print "<td>Num 1</td><td>num2</td><td>Suma</td>"; Esa función -el constructor- se print "<td>Diferencia</td><td>Producto</td><td>Cociente</td><tr>"; ejecuta de forma automática en el momento en que se define un foreach($this->num1 as $clave=>$valor){ nuevo objeto (new) print "<td align=center>".$valor."</td>"; print "<td align=center>".$this->num2[$clave]."</td>"; Según como esté definido, el print "<td align=center>".$this->suma[$clave]."</td>"; constructor puede ejecutarse de print "<td align=center>".$this->diferencia[$clave]."</td>"; distintas formas: print "<td align=center>".$this->producto[$clave]."</td>"; print "<td align=center>".$this->cociente[$clave]."</td><tr>"; • Con los valores predefinidos en las variables de la clase. } print "</table>"; • Mediante la asignación de valores preestablecidos en los } propios parámetros de la función } constructor. $objeto= new Operaciones; En el ejemplo puedes ver la sintaxis de esta forma en la que se for ($i=1;$i<11;$i++){ for ($j=1;$j<11;$j++){
  • 3. le asignan los valores 3 y 7 a las $objeto -> Operaciones($i,$j); variables $a y $b. } En el mismo ejemplo puedes ver } también la utilidad añadida del constructor. $objeto-> imprime(); Cuando se le pasan valores la ?> función se ejecuta sin tomar en consideración los asignados por defecto en la función y cuando se Ver ejemplo75.php le pasan sólo parte de esos valores utiliza los valores recibidos y para los no asignados Un ejemplo de clase extendida en la llamada utiliza los valores del constructor. En este ejemplo puedes ver como las clases extendidas utilizan variables de la clase padre, pueden tener constructores propios pero solo ejecutan su propio constructor pero no el Clases extendidas de la clase padre. PHP también tiene la posibilidad de Para que el constructor de la clase padre sea ejecutado desde la clase extendida tiene que ser crear clases extendidas cuya invocado expresamente. virtud es poder disponer tanto de variables y funciones propias como de todas las variables y funciones <? de la clase padre. class Multiplica{ Sintaxis de las clases var $factor1=7; extendidas var $factor2=8; function Multiplica(){ Para crear clases extendidas se print $this->factor1*$this->factor2."<br>"; requiere utilizar la siguiente sintaxis: print "Esto está en el constructor de la clase padre<br>"; } class nuev extends base { } .... ... definición de variables.... class MeSeOlvido extends Multiplica{ .... .. constructores (opcional)... var $divisor=5; .... function MeSeOlvido(){ .. definición de funciones... print $this->factor1*$this->factor2/$this->divisor."<br>"; .... } } } Como habrás podido deducir nuev es el nombre de la nueva clase (la $objeto= new MeSeOlvido; extendida), base es el nombre de la clase padre y extens es la $objeto->Multiplica(); palabra clave que indica a PHP que ?> se trata de una clase extendida. PHP no permite las herencias Ver ejemplo76.php múltiples. No es posible crear una clase extendida de otra clase extendida. Ejemplo de funciones PHP con clases y objetos Funciones con Clases y En este ejemplo puedes comprobar que las clases pueden escribirse en ficheros externos y objetos posteriormente ser incluidas en un script PHP mediante la función include. Existen algunas funciones que <? pueden resultarte útiles a la hora de trabajar con clases y objetos. include("ejemplo75.php"); Son las siguientes: $busca="imprima"; method_exists(obj, func) if(method_exists ( $objeto, $busca)){ Comprueba si está definida la echo "Existe la función $busca <br>"; función func (función y método }else{ son sinónimos) en el objeto obj. echo "No existe la función $busca <br>"; Devuelve un valor booleano. Cierto } (true) en el caso de que exista esa función y falso en el caso de que $r=get_class_vars ("Operaciones"); no exista. foreach ($r as $pepe=>$pepito){ echo "$pepe -->$pepito<br>"; get_class_vars(clase) } Crea un array asociativo cuyos índices son los nombres de las $s=get_class_methods("Operaciones"); variables y cuyos valores coinciden foreach($s as $clave){ con los valores preasignados a echo $clave,"<br>"; cada una de esas variables. } print_r(get_object_vars($objeto)); En este array solo se recogen las ?> variables que han sido inicializadas asignándoles un valor. get_class_methods(clas) Ver ejemplo77.php Devuelve un array conteniendo los valores de todos los métodos Ejemplo de utilización de :: (funciones) definidas en la clase clas. <? get_object_var(obj) class A { function ejemplo() { Devuelve todas las variables (y sus valores) contenidas en el echo "Este es el resultado de la función ejemplo<br>"; objeto obj. } } La llamada :: # llamo a la funcion sin crear un nuevo objeto
  • 4. # usando :: PHP permite llamar a una función A::ejemplo(); definida en una clase sin necesidad de crear un objeto. #ahora creo el objeto $b y llamo a la función La sintaxis es la siguiente: $b = new A; clase :: funcion() $b->ejemplo(); ?> donde clase es el nombre de una clase y funcion() es una función definida dentro de esa clase. ejemplo78.php Su funcionalidad es la misma que si escribiéramos: Métodos con el mismo nombre $nombre = new clase $nombre -> funcion () <? Métodos con # creamos una clase padre el mismo nombre class Padre{ function prueba() { echo "Esto está en la función prueba de la clase PADRE<br>"; Los objetos de clases extendidas } pueden usar tanto las funciones contenidas en la propia clase } extendida como en la clase padre. Sin embargo se puede plantear # creamos una clase extendida (Hija) con una funcion de igual nombre una situación (tendremos # funcion ejemplo oportunidad de verla en los temas class Hija extends Padre{ relativos a los ficheros PDF) en la function prueba(){ que existan dos funciones con echo "Esto está en la función prueba de la clase HIJA<br>"; idéntico nombre, una en la clase } extendida y otra en la clase padre. # creamos un nuevo objeto de la clase hija que invoque # ambas pruebas, la de la clase hija y la de la clase padre En esa situación, siempre que se invoque el método, se ejecutará el function ambas(){ incluido de la clase para la que se print "Ejecución de la función ambas<br>"; haya definido el objeto. # mediante $this-> requerimos la ejecución de metodo prueba # de la clase actual En el ejemplo puedes ver las $this->prueba(); diferentes opciones posibles - # al señalar parent:: requerimos la ejecución de metodo prueba objetos creados sobre ambas # de la clase padre clases- y también las, ya parent::prueba(); comentadas, de ejecución de los } métodos sin creación previa de objetos mediante la sintaxis: } # creamos un objeto de la clase padre y por tanto invocará nombre_clase :: metodo() # los métodos contenidos en esa clase sin considerar los de la # clase extendida. En este caso, si el método se $objeto1 =new Padre(); invoca desde una función de la print "<BR>Ejecutamos el método prueba(). clase extendida en vez de escribir El $objeto1 utiliza la clase padre<br>"; el nombre asignado a la clase padre se especifica la referencia a $objeto1->prueba(); esta mediante la palabra: parent # creamos un nuevo objeto sobre la clase extendida. # Podrán invocarse métodos de la clase padre y de la extendida # pero si coinciden los nombres de esos métodos prevalecerá Bibliotecas de clases # el de la clase extendida. $objeto2 =new Hija(); Una de las ventajas más print "<BR>Ejecutamos el método prueba(). importantes de las clases es la El $objeto2 utiliza la clase Hija<br>"; posibilidad de reutilización de $objeto2->prueba(); rutinas -propias o desarrolladas por otros- en nuestros scripts. print "<BR>Ejecutamos el método ambas()<br>"; Existen algunos sitios en la red en # aquí invocamos otro método de la clase extendida los que pueden obtener una gran cantidad de materiales de este $objeto2->ambas(); tipo. Uno de los sitios más # también podemos invocar el método de la clase que deseemos sin crear el populares puedes encontrarlo en la objeto dirección: phpclasses.org. Print "<br>Ahora vamos a usar Padre::Prueba()<br>"; Padre::Prueba(); Trataremos con una cierta Print "<br>Ahora vamos a usar Hija::Prueba()<br>"; profundidad la forma de utilización Hija::Prueba(); de estas clases de terceros en los ?> apartados relativos a la creación de ficheros en formato PDF. Ejecutar ejemplo Anterior Indice Siguiente