Curso POO: Clase 1 formato de Poo PHP

Tema en 'Programación & Programación Web' iniciado por cavoso, 19 Ago 2011.

  1. cavoso

    cavoso Usuario Casual nvl. 2
    197/244

    Registrado:
    31 May 2008
    Mensajes:
    2.792
    Me Gusta recibidos:
    14
    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
    La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe variedad de lenguajes de programación que soportan la orientación a objetos.

    segun http://www.phpya.com.ar/poo (sitio de tutorial de php)
    Un objeto es una entidad independiente con sus propios datos y programación. Las ventanas, menúes, carpetas de archivos pueden ser identificados como objetos; el motor de un auto también es considerado un objeto, en este caso, sus datos (atributos) describen sus características físicas y su programación (métodos) describen el funcionamiento interno y su interrelación con otras partes del automóvil (también objetos).

    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"
    <?
    class ejemplo{ //ejemplo es el nombre de la class
    public function suma($num1, $num2){ // suma es el nombre de la funcion
    $result=$num1+$num2; //aqui son sumadas las 2 variables
    return $result; //aqui regresamos el resultado para que este se utilice en lo que se requiera desde donde se llama al objeto
    }
    }
    ?>

    aqui el script con la iniciacion de objeto que queda en la carpeta raiz
    <?
    include "class/ejemplo.php";
    $suma= new ejemplo(); // iniciacion del objeto previamente creado
    $resultado=$suma->suma(1, 2); // 1 es el primer numero que ingresa a nuestro ejemplo y 2 es el segundo
    echo $resultado; //aqui se muestra el resultado que debe ser 3
    ?>

    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

    Registrado:
    13 Ene 2007
    Mensajes:
    386
    Me Gusta recibidos:
    3
    hecha la tarea, probada y funcionando

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

    Insertar CODE, HTML o PHP:
    <?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

    Insertar CODE, HTML o PHP:
    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

    Registrado:
    31 May 2008
    Mensajes:
    2.792
    Me Gusta recibidos:
    14
    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

    Registrado:
    13 Ene 2007
    Mensajes:
    386
    Me Gusta recibidos:
    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

    Registrado:
    3 May 2006
    Mensajes:
    160
    Me Gusta recibidos:
    1
    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

    Registrado:
    31 May 2008
    Mensajes:
    2.792
    Me Gusta recibidos:
    14
    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

    Registrado:
    3 May 2006
    Mensajes:
    160
    Me Gusta recibidos:
    1
    buuuu(ajhajahja)
    esperaré la próxima tonces =)
     
  8. VenenoxHC

    VenenoxHC Usuario Casual nvl. 2
    37/41

    Registrado:
    30 Nov 2008
    Mensajes:
    1.798
    Me Gusta recibidos:
    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

    Registrado:
    31 May 2008
    Mensajes:
    2.792
    Me Gusta recibidos:
    14
    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

    Registrado:
    30 Nov 2008
    Mensajes:
    1.798
    Me Gusta recibidos:
    1
    OKEY yo solo keria... u.u
     
  11. cavoso

    cavoso Usuario Casual nvl. 2
    37/41

    Registrado:
    31 May 2008
    Mensajes:
    2.792
    Me Gusta recibidos:
    14
    igual se agradece el que quieras aportar dentro del curso
     
  12. Rigorap87

    Rigorap87 Usuario Habitual nvl.3 ★
    197/244

    Registrado:
    26 Jul 2009
    Mensajes:
    31.881
    Me Gusta recibidos:
    26
    Gracias perrito por un curso sencillo, es bueno recordar cosas que hace años deje de hacer.