Curso POO: Clase 1 formato de Poo PHP

Discussion in 'Programación & Programación Web' started by cavoso, Aug 19, 2011.

  1. cavoso

    cavoso Usuario Casual nvl. 2
    197/244

    Joined:
    May 31, 2008
    Messages:
    2,727
    Likes Received:
    13
    Primero antes de empesar el curso debo decir que no soy un experto en php orientada a objeto sino que lo que pretendo hacer es enseñarle lo que yo ya de la POO para que ustedes tambien lo sepan y lo puedan utilizar.

    ahora bien una pequeña introduccion con respeco a que es la POO (programacion orientada a Objeto)

    segun wikipedia

    segun http://www.phpya.com.ar/poo (sitio de tutorial de php)

    ambos conceptos son acertados, ahora lo que deben recordar es que cuando crean un objeto estos pueden tener multiples funciones y estas pueden tener distintas variables.

    un pequeño ejemplo

    class para sumar 2 numeros quedara ubicado en la carpeta "class"

    aqui el script con la iniciacion de objeto que queda en la carpeta raiz

    ahora si pueden ver en la class esta se crea de la sigiente forma
    class -> con la cual se inicializa la class .
    nombre de la class -> el nombre de la class con el que se identificara al inicializarce
    { } -> apertura y cierre de la class respectivamente
    public -> parametros de la funcion en este caso es publica tambien pueden ser privadas
    function -> inicio de la funcion
    nombre de la funcion -> el nombre de la funcion que va a ser llamada dentro de la clas
    ( ) -> apertura y cierre de las variebles las cuales van separadas por coma (dentro se deben colocar una variable que se va a utilizar dentro de la funcion)
    contenido de la funcion -> este es el contenido de la funcion el cual puede ser de cualquier tipo

    tambien pueden observar que el codigo para trabajar con el objeto se trabaja de la sigiente forma

    include "direccion"; -> aqui se incluye la direccion del archivo donde se encuentra la class que se va a utilizar
    $suma= new ejemplo(); -> iniciacion del objeto llamado ejemplo siempre se puede inicializar un objeto colocando una variable = new el nombre del objeto
    en este caso hay un $resultado=$suma->suma(1, 2); en donde se muestra la variable suma inicia la funcion suma dandole los valores 1 y 2 los cuales son sumados en la class y devuelto a la variable $resultado la cual despues es mostrada

    espero que ayan aprendido lo primero de este curso
    ahora para aquellos quieran algo que hacer refiriendose a poo intenten hacer una class para mostrar la edad de una persona ingresando solamente su año de nacimiento y publiquenlo aqui mismo y yo se los corregire
     
  2. pttmix

    pttmix Usuario Nuevo nvl. 1
    17/41

    Joined:
    Jan 13, 2007
    Messages:
    381
    Likes Received:
    3
    hecha la tarea, probada y funcionando

    prueba.php
    Code:
    <?php
       include "pruebas.class.php";
      $edad1= new Prueba();
      $edad1->edad('1978',@date('Y'));
      $edad1->mostrar();
    ?>
    
    pruebas.class.php

    Code:
    <?php
      class Prueba{
      private $edad;
      private $fecha;
      private $nacim;
       function edad($ano,$year){
         $this->fecha=$year;
         $this->nacim=$ano;
         $this->edad=($year-$ano);
        }
      function mostrar()
      {
     echo "Usted Nacio el año ".$this->nacim.", por lo que al año ".$this->fecha."  usted tiene la edad de ".$this->edad." años.";
      }
     }
    ?>
    
    Resultado

    Code:
    Usted Nacio el año 1978, por lo que al año 2011 usted tiene la edad de 33 años.
    
     
  3. cavoso

    cavoso Usuario Casual nvl. 2
    37/41

    Joined:
    May 31, 2008
    Messages:
    2,727
    Likes Received:
    13
    muy bien pttmix esa es una muy buena manera de hacerl el calculo de edad aun obiamente eso es algo sensillo para ti, ya que la forma en que mostraste los datos y los trabajaste yo aun no los he mostrado por bien todo sirve como repaso no?
     
  4. pttmix

    pttmix Usuario Nuevo nvl. 1
    17/41

    Joined:
    Jan 13, 2007
    Messages:
    381
    Likes Received:
    3
    gracias, siempre se aprende algo y no es nada de malo repasar y/o aprender las metodologias que otros utilisan para programar
     
  5. Dozzie

    Dozzie Usuario Nuevo nvl. 1
    17/41

    Joined:
    May 3, 2006
    Messages:
    153
    Likes Received:
    0
    Que mejor para aprender con un buen ejemplo??? xP

    Y yo cabeceandome como hacer que una variable dentro de una función la lean otras funciones...
    Con una class y un par de variables bastaba y sobraba ¬¬#...

    una pregunta en la class Prueba abria sido mucha diferencia si a las funciones les ponía public??
    afectaba a los $this->??

    eso gracias que sigan los cursos xPP
     
  6. cavoso

    cavoso Usuario Casual nvl. 2
    37/41

    Joined:
    May 31, 2008
    Messages:
    2,727
    Likes Received:
    13
    esas preguntas seran respondida en la proxima clase ya que como ves es un curso de POO y no solo este xd
     
  7. Dozzie

    Dozzie Usuario Nuevo nvl. 1
    17/41

    Joined:
    May 3, 2006
    Messages:
    153
    Likes Received:
    0
    buuuu(ajhajahja)
    esperaré la próxima tonces =)
     
  8. VenenoxHC

    VenenoxHC Usuario Casual nvl. 2
    37/41

    Joined:
    Nov 30, 2008
    Messages:
    1,780
    Likes Received:
    1
    excelente... pero hay una cosa que puedo agregar
    a partir de php/5 se puede ocupar variables public private en las clases
    en versiones php4 solo se debe inicializar la variable de esta manera

    var $nombrevariable;}

    A DEMAS

    <?php
    class Carrito {
    /* Ninguna de estas expresiones funciona en PHP 4. */
    var $fecha_hoy = date("Y-m-d");
    var
    $nombre = $primer_nombre;
    var
    $duenyo = 'Fred ' . 'Jones';
    /* Aunque, las matrices que contienen valores constantes funcionan */
    var $items = array("VCR", "TV");
    }

    /* Asi es como debe declararse. */
    class Carrito {
    var
    $fecha_hoy;
    var
    $nombre;
    var
    $duenyo;
    var
    $items = array("VCR", "TV");

    function
    Carrito() {
    $this->fecha_hoy = date("Y-m-d");
    $this->nombre = $GLOBALS['primer_nombre'];
    /* etc. . . */
    }
    }
    ?>
     
  9. cavoso

    cavoso Usuario Casual nvl. 2
    37/41

    Joined:
    May 31, 2008
    Messages:
    2,727
    Likes Received:
    13
    repito esto es solo la primera clase despues se van a ir agregando mas para que aprendan ha hacerlo de mejor forma xd
     
  10. VenenoxHC

    VenenoxHC Usuario Casual nvl. 2
    37/41

    Joined:
    Nov 30, 2008
    Messages:
    1,780
    Likes Received:
    1
    OKEY yo solo keria... u.u
     
  11. cavoso

    cavoso Usuario Casual nvl. 2
    37/41

    Joined:
    May 31, 2008
    Messages:
    2,727
    Likes Received:
    13
    igual se agradece el que quieras aportar dentro del curso
     
  12. Rigorap87

    Rigorap87 Usuario Habitual nvl.3 ★
    197/244

    Joined:
    Jul 26, 2009
    Messages:
    31,817
    Likes Received:
    24
    Gracias perrito por un curso sencillo, es bueno recordar cosas que hace años deje de hacer.