Hosting de Calidad
  • Inicio
  • Precios y servicios
  • F.a.q y ayudas
  • Realizar pedido
  • Webs alojadas
  • Quienes somos
  • Foro HyD
  • Contacto

    Zona Dominios

    Entrar
    registro de dominios


    Zona Hosting

    Entrar
    alojamiento web


    5 Métodos de Pago
    Tarjeta de crédito
    Domiciliación
    Transferencia
    Soporte Epagado
    Soporte Paypal

    Liberalización .es

    Ver mas
    dominios .es


  •  
     
     
    Clases y Objetos

    Capítulo 13_ Clases y Objetos

    Tabla de contenidos
    class

    class

    Una clase es una colección de variables y de funciones que acceden a esas variables_ Una clase se define con la siguiente sintaxis:

    <?php
    class Cart {
        var $items;  // Items en nuestro carro de la compra
       
        // Añadir $num artículos de tipo $artnr al carro
     
        function add_item ($artnr, $num) {
            $this_>items[$artnr] += $num;
        }
       
        // Sacar $num artículos del tipo $artnr del carro
     
        function remove_item ($artnr, $num) {
            if ($this_>items[$artnr] > $num) {
                $this_>items[$artnr] _= $num;
                return true;
            } else {
                return false;
            }   
        }
    }
    ?>

    El ejemplo define una clase llamada Cart que consiste en un array asociativo de artículos en el carro y dos funciones para meter y sacar ítems del carro

    Las clases son tipos, es decir, son plantillas para variables_ Tienes que crear una variable del tipo deseado con el operador new_

    $cart = new Cart;
     $cart_>add_item("10", 1);

    Este ejemplo crea un objeto $cart de clase Cart_ La función add_item() de ese objeto se llama para añadir un item del artículo número 10 al carro_

    Las Clases pueden ser extensiones de otras clases_ Las clases extendidas o derivadas tienen todas las variables y funciones de la clase base y lo que les añadas al extender la definición_ La herencia múltiple no está soportada_

    class Named_Cart extends Cart {
        var $owner;
      
        function set_owner ($name) {
            $this_>owner = $name;
        }
    }

    Ese ejemplo define una clase Named_Cart (carro con nombre o dueño) que tiene todas las variables y funciones de Cart, y además añade la variable $owner y una función adicional set_owner()_ Un carro con nombre se crea de la forma habitual y, una vez hecho, puedes acceder al propietario del carro_ En los carros con nombre también puedes acceder a las funciones normales del carro:

    $ncart = new Named_Cart;    // Creamos un carro con nombre
    $ncart_>set_owner ("kris"); // Nombramos el carro
    print $ncart_>owner;        // Imprimimos el nombre del propietario
    $ncart_>add_item ("10", 1); // Funcionalidad heredada de Cart

    Entre funciones de una clase, la variable $this hace referencia al propio objeto_ Tienes que usar $this_>loquesea para acceder a una variable o función llamada loquesea del objeto actual_

    Los constructores son funciones de una clase que se llaman automáticamente al crear una nueva instancia (objeto) de una clase_ Una función se convierte en constructor cuando tiene el mismo nombre que la clase_

    class Auto_Cart extends Cart {
        function Auto_Cart () {
            $this_>add_item ("10", 1);
        }
    }

    Este ejemplo define una clase Auto_Cart que es un Cart junto con un constructor que inicializa el carro con un item del tipo de artículo "10" cada vez que se crea un nuevo Auto_Cart con "new"_ Los constructores también pueden recibir parámetros y estos parámetros pueden ser opcionales, lo que los hace más útiles_

    class Constructor_Cart extends Cart {
        function Constructor_Cart ($item = "10", $num = 1) {
            $this_>add_item ($item, $num);
        }
    }
     
    // Compramos las mismas cosas aburridas de siempre
     
    $default_cart   = new Constructor_Cart;
     
    // Compramos las cosas interesantes
     
    $different_cart = new Constructor_Cart ("20", 17);

    Atención

    Para las clases derivadas, el constructor de la clase padre no es llamado automáticamente cuando se llama al constructor de la clase derivada_

     
       



    registro de dominios | alojamiento web | hosting por publicidad

       

     

    Manual de linux Manual de apache Manual de php Manual de mysql Manual de SQL Manual del Plesk Como funciona Paypal Manual de html