jueves, 15 de junio de 2017

FUNCTION CONSTRUCT:


 Los constructores padres no son llamados implícitamente si la clase hija define un constructor. Para ejecutar un constructor padre, se requiere invocar a parent::__construct() desde el constructor hijo. Si el hijo no define un constructor, entonces se puede heredar de la clase madre como un método de clase normal (si no fue declarada como privada).


void __construct ([ mixed $args = "" [, $... ]] )

<?phpclass BaseClass {
   function 
__construct() {
       print 
"En el constructor BaseClass\n";
   }
}

class 
SubClass extends BaseClass {
   function 
__construct() {
       
parent::__construct();
       print 
"En el constructor SubClass\n";
   }
}

class 
OtherSubClass extends BaseClass {
    
// heredando el constructor BaseClass}
// En el constructor BaseClass$obj = new BaseClass();
// En el constructor BaseClass
// En el constructor SubClass
$obj = new SubClass();
// En el constructor BaseClass$obj = new OtherSubClass();?>


A diferencia con otros métodos, PHP no generará un mensaje de error a nivel de E_STRICT cuando __construct() es sobrescrito con diferentes parámetros que los métodos padre __construct() tienen.

A partir de PHP 5.3.3, los métodos con el mismo nombre que el último elemento de una clase en un nombre de espacios no serán más tratados como un constructor. Este cambio no afecta a clases sin espacio de nombres.

<?phpclass MyDestructableClass {
   function 
__construct() {
       print 
"En el constructor\n";
       
$this->name "MyDestructableClass";
   }

   function 
__destruct() {
       print 
"Destruyendo " $this->name "\n";
   }
}
$obj = new MyDestructableClass();?>

Como los constructores, los destructores padre no serán llamados implícitamente por el motor. Para ejecutar un destructor padre, se deberá llamar explícitamente a parent::__destruct() en el interior del destructor. También como los constructores, una clase child puede heredar el destructor de los padres si no implementa uno propio.

El destructor será invocado aún si la ejecución del script es detenida usando exit(). Llamar a exit() en un destructor evitará que se ejecuten las rutinas restantes de finalización.



viernes, 2 de junio de 2017

PUBLICACIÓN CLASE 15


Se realizo lo que es el tema de herencia en programacion orientado objetos la cual es  después de la agregación o composición, el mecanismo más utilizado para alcanzar algunos de los objetivos más preciados en el desarrollo de software como lo son la reutilización y la extensibilidad. A través de ella los diseñadores pueden crear nuevas clases partiendo de una clase o de una jerarquía de clases preexistente (ya comprobadas y verificadas) evitando con ello el rediseño, la modificación y verificación de la parte ya implementada. La herencia facilita la creación de objetos a partir de otros ya existentes e implica que una subclase obtiene todo el comportamiento (métodos) y eventualmente los atributos (variables) de su superclase.

HERENCIA


Es la relación entre una clase general y otra clase más específica. Por ejemplo: Si declaramos una clase párrafo derivada de una clase texto, todos los métodos y variables asociadas con la clase texto, son automáticamente heredados por la subclase párrafo.

La herencia es uno de los mecanismos de los lenguajes de programación orientada a objetos basados en clases, por medio del cual una clase se deriva de otra de manera que extiende su funcionalidad. La clase de la que se hereda se suele denominar clase base, clase padre, superclase, clase ancestro (el vocabulario que se utiliza suele depender en gran medida del lenguaje de programación).


Resultado de imagen para herencia informatica






PUBLICACIÓN CLASE 14

En la fecha de 30/05/17 el profesor explico el tema sobre encapsulamiento en el codigo
de php, en esta imagen vemos un ejemplo:

  1. <?php
  2. /*
  3. pequeña modificacion de la clase anterior para ver el comportamiento
  4. del modificador private
  5. */
  6. class classBD{
  7.  
  8. (...)
  9.  
  10.    private $usuario = 'admin';
  11.  
  12.    public function updateUser($var='')
  13.    {
  14.      $this->usuario = $var;
  15.    }
  16.  
  17.    public function verUsuario()
  18.    {
  19.      echo $this->usuario;
  20.    }
  21.  
  22. (...)
  23.  
  24. }
  25.  
  26. $objBD = new classBD();
  27.  
  28. /*
  29. en el ejemplo anterior cambiamos el usuario directamente, en esta ocasion
  30. al haber declarado $usuario como private esta operacion provocara un error.
  31. */
  32. $objBD->usuario = 'nuevoUser';
  33.  
  34. /*
  35. para evitar el error en este caso he creado una funcion publica que se
  36. encargara de modificar el valor a la propiedad desde el interior del objeto
  37. ademas tan bien he includio el metodo verUsuario para comprobar si
  38. realmente se han producido los cambios.
  39. */
  40. $objBD->updateUser( 'nuevoUser');
  41. $objBD->verUsuario();

  42. ?>

viernes, 26 de mayo de 2017

PUBLICACIÓN CLASE 13

En la clase de 26/05/17 el profesor explico sobre el tema de POO, que son los modificadores
de accesos (visibilidad)en la cual se dividen en tres tipos que son:

PUBLIC:

se puede acceder desde donde sea.

PROTECTED:

solo desde la misma clase o mediante clases heredadas.

PRIVATE:

únicamente se puede acceder desde la clase que los definió.


ENCAPSULAMIENTO:

Ocultamiento del estado es decir,de los datos miembro de un objeto de manera que solo
pueda cambiar mediante las operaciones definidas para ese objeto.


lunes, 22 de mayo de 2017

BIOGRAFÍA DE ALAN TURING

(Alan Mathison Turing; Londres, 1912-Wilmslow, Reino Unido, 1954) Matemático británico. Pasó sus primeros trece años en la India, donde su padre trabajaba en la Administración colonial. De regreso al Reino Unido, estudió en el King's College y, tras su graduación, se trasladó a la Universidad estadounidense de Princeton, donde trabajó con el lógico A. Church.

MAQUINA DE ALAN TURING

En 1937 publicó un célebre artículo en el que definió una máquina calculadora de capacidad infinita (máquina de Turing) que operaba basándose en una serie de instrucciones lógicas, sentando así las bases del concepto moderno de algoritmo. Así, Turing describió en términos matemáticos precisos cómo un sistema automático con reglas extremadamente simples podía efectuar toda clase de operaciones matemáticas expresadas en un lenguaje formal determinado. La máquina de Turing era tanto un ejemplo de su teoría de computación como una prueba de que un cierto tipo de máquina computadora podía ser construida

La Segunda Guerra Mundial ofreció un insospechado marco de aplicación práctica de sus teorías, al surgir la necesidad de descifrar los mensajes codificados que la Marina alemana empleaba para enviar instrucciones a los submarinos que hostigaban los convoyes de ayuda material enviados desde Estados Unidos; Turing, al mando de una división de la Inteligencia británica, diseñó tanto los procesos como las máquinas que, capaces de efectuar cálculos combinatorios mucho más rápido que cualquier ser humano, fueron decisivos en la ruptura final del código.


Definió además un método teórico para decidir si una máquina era capaz de pensar como un hombre (test de Turing) y realizó contribuciones a otras ramas de la matemática aplicada, como la aplicación de métodos analíticos y mecánicos al problema biológico de la morfogénesis. En el ámbito personal, su condición de homosexual fue motivo constante de fuertes presiones sociales y familiares, hasta el punto de especularse si su muerte por intoxicación fue accidental o se debió a un intento de suicidio.

jueves, 18 de mayo de 2017

PUBLICACIÓN CLASE 12:

En esta clase el profesor explico sobre el include en php.

Resultado de imagen para ruta relativa absoluta

lunes, 15 de mayo de 2017

PUBLICACIÓN CLASE 11:

En la clase de la fecha 15/05/17 el profesor explico sobre el tema de programación 
orientado a objetos, que son los diagramas de clases y como se definen, se hizo un 
ejemplo de clase en un diagrama.

PUBLIC:

Una variable/función pública puede ser accedida desde fuera de la clase. Es decir, puedo acceder desde la instancia
 de la clase y no sólo desde el código interno de la clase. Ejemplo de funciones públicas son los métodos de una clase.
 También es posible crear variables públicas, para que puedan ser manejadas desde la instancia, pero no es algo común o
recomendable, entre otras cosas porque deja un hueco de seguridad en la clase, acabando con la idea de la “encapsulación”.

 Para declarar una variable/función como pública, se le antepone la palabra clave “public”.


 public function __construct($tit,$ubi)
  {
    $this->titulo=$tit;
    $this->ubicacion=$ubi;
  }

buenas practicas para la definición de clases en POO:

Los objetos son instancias de una clase. Usando el símil “variable – tipo” de la programación estructurada,
 se entiendo que un objeto es una variable que tiene el comportamiento y estados del tipo (objeto)

Veamos la creación de la clase Persona

public class Persona {
      public String nombre;
      public int edad;

      public void correr(){
              /* por implementar */
      }

}
y dentro del cuerpo del programa instanciamos una nueva Persona denominada Esteban:

public class Main {

    public static void main(String[] args) {

        Persona esteban = new Persona();

                // Ahora que esteban es persona, puede correr
                esteban.corre();

    }
}