Programación Orientada a Objetos
Luiz FloresTrabajo24 de Noviembre de 2019
3.472 Palabras (14 Páginas)167 Visitas
[pic 1][pic 2]
[pic 3][pic 4]
Contenido
Introducción 4
Conceptos básicos de la programación orientada a objetos (POO). 5
Clase: 5
Objeto: 5
Atributo: 6
Método: 6
Herencia: 7
Clases y tipos de Clases. 8
Clases Instanciables. 8
Clases Abstractas. 8
Clase Final. 9
Interfaces. 9
Visibilidad o restricción de acceso en atributos o métodos. 10
Public. 10
Private 10
Protected 10
Introducción a UML 11
Diagrama de Clases. 12
Diagrama de Objetos. 13
Diagrama de Casos de Uso. 14
Diagrama de Actividades. 15
Diagrama de Secuencia. 16
Relaciones entre clases 17
Asociación. 17
Multiplicidad de asociaciones. 18
Agregación y Composición. 18
Arreglos y tipos de arreglos 19
Array con índice numérico (indexado). 19
Array asociativo. 20
Array bidimensional. 20
Encode y Decode. 21
Json. 21
Object. 21
Print_r 21
Var_dump. 21
Json_encode. 21
Json_decode. 21
Características de la POO. 22
Abstracción. 22
Encapsulamiento. 22
Modularidad. 22
Polimorfismo. 22
Herencia. 22
Ventajas de la POO 23
Reusabilidad. 23
Mantenibilidad. 23
Modificabilidad. 23
Fiabilidad. 23
Métodos Mágicos. 24
__Get(). 24
__set(). 24
__isset(). 24
__unset(). 24
__tostring(). 24
__sleep(). 24
__wakeup(). 24
__clone(). 24
__invoke(). 24
Constantes y métodos estáticos. 25
-self. 25
-parent. 25
Operador de resolución de ámbito (::). 25
Patrones de diseño. 26
MVC. 26
Singleton. 26
Refactory. 27
Proxy. 27
Introducción
La presente guía corresponde a la asignatura Programación de Aplicaciones, con el propósito de fomentar el desarrollo de software por medio de conceptos relacionados con la programación orientada a objetos (POO) y ejemplos prácticos mediante el lenguaje PHP motivando al estudiante a su realización.
Conceptos básicos de la programación orientada a objetos (POO).
La programación orientada a objetos básicamente define una serie de conceptos y técnicas de programación para representar acciones o cosas de la vida real basada en objetos, a diferencia de otras formas de programación como por ejemplo la estructurada, con la POO trabajamos de manera distinta vinculando diferentes conceptos tales como clases, objetos, atributos, métodos, herencia, entre otros, generando cada vez interrelaciones en nuestro desarrollo en pro del funcionamiento del sistema principal, definiendo el programa como un conjunto de estos objetos relacionados entre sí. Los conceptos principales son:
Clase:
Una clase es una construcción que permite crear tipos personalizados propios mediante la agrupación de variables de otros tipos, métodos y eventos.
Representación:
/*Promedio define el nombre de la clase*/
class Promedio {
/*Código a ejecutar dentro de la clase*/
}
Objeto:
Un objeto es una unidad dentro de un programa informático que tiene un estado, y un comportamiento. Es decir, tiene una serie de datos almacenados y tareas que realiza con esos datos en el tiempo de ejecución.
Representación:
/*Creamos el objeto como instancia de la clase Promedio*/
$MiObjeto = new Promedio;
De este modo podemos acceder a los métodos de la clase Promedio por medio de $MiObjeto
Atributo:
Los atributos son las características que aplican al objeto solo en el caso en que sea visible en pantalla por el usuario.
Representación:
$C1=10;
$C2=8;
$C3=9.4;
Método:
Los métodos son funciones que permite efectuar el objeto y que rinde algún tipo de servicio durante el transcurso del programa.
Representación:
/*Promedio define el nombre de la clase*/
class Promedio {
public function Calcular_Promedio(){
$Total= ($C1+$C2+$C+3)/3;
echo $Total;
}
}
Herencia:
La herencia es un mecanismo para compartir automáticamente métodos y datos entre clases.
Representación:
class Promedio {
public function Calcular_Promedio(){
$Total= ($C1+$C2+$C+3)/3;
echo $Total;
}
}
class Asignaturas extends Promedio {
/*Codigo de la clase Asignatura*/
}
Clases y tipos de Clases.
Existen diferentes tipos de clases y resulta importante tener una referencia sobre los tipos de clases, como utilizarla y para qué sirven.
Clases Instanciables.
Es la clase normal, se nombra con la palabra “class” seguida de su nombre. El único requisito para el nombre es que no sea una palabra reservada.
Ejemplo:
class Nombre_Clase{
//Codigo.
}
Clases Abstractas.
No necesita ser instanciada, pero se hereda en algún momento. Generalmente su finalidad es declara clases genéricas sin otorgar ninguna definición precisa ya que de ellos se encargarán las clases que las heredan.
Ejemplo:
abstract class Nombre_clase {
/*Codigo…*/
}
Clase Final.
No puede ser heredada, es decir, ninguna otra puede recibir sus métodos y propiedades. Para definirla se utiliza la palabra reservada “final”.
Ejemplo:
final class Nombre_Clase {
/*Codigo…*/
}
Interfaces.
Las interfaces son contratos que han de cumplir las clases que las implementan. Contienen métodos vacíos que obligan a una clase a ampliarlos promoviendo así un estándar de desarrollo. Para definir una interface se utiliza la palabra “interface” y para extenderla se utiliza “implements”.
Visibilidad o restricción de acceso en atributos o métodos.
En una clase podemos definir nuestros atributos y métodos como públicos, protegidos o privados (public, protected o private) en función de la visibilidad que queremos que tengan en el resto del código.
Public.
Hace que la variable o función se pueda acceder desde cualquier lugar, por ejemplo, otras clases o instancias.
Representación:
class Auto {
public $modelo;
}
Private
Hace que la variable o función solamente se pueda utilizar desde la misma clase que la define.
Representación:
class Auto {
public $modelo;
private $color;
}
Protected
Hace que la variable o función se pueda acceder desde la clase que la defina y también desde cualquier otra clase que herede de ella.
Representación:
class Auto {
public $modelo;
...