Tarea 3
-
Upload
diego-alberto-guillen-francisco -
Category
Education
-
view
105 -
download
0
Transcript of Tarea 3
INTRODUCCIÓN A LA
PROGRAMACIÓN ORIENTADO A
OBJETOS (POO) .
Significado de Orientado a Objetos
-El significado de Orientado a Objetos nace como un conjunto depracticas que definen un estilo de programación.
- Los seres humanos perciben el mundo como si estuviera formadopor objetos: mesas, sillas, computadoras, coches, cuentasbancarias, etc. Donde conciente o inconscientemente tienden aorganizarlos, clasificarlos, relacionarlos entre si, y hasta extraen lascaracterísticas más importantes dependiendo de lo que quierenhacer con ellas.
CLASES
Concepto
Generalmente, una clase se puede definir como una descripción
abstracta de un grupo de objetos, cada uno de los cuales tiene una serie de
atributos, un estado específico y es capaz de realizar una serie de operaciones.
Atributos
Operaciones
Comportamiento
Lavadora
marca
modelo
capacidad...
Programar
PonerRopa
CerrarPuerta
Lavar
OBJETOS
Concepto:
Un objeto, no es más que una instancia de una clase. La
instancia de una clase significa definir un objeto dándole valores a
sus atributos y comportamiento, y realizando operaciones
permitidas por la clase.
Valores de los atributos
Estado
Identidad
ID:Lavadora
marca=“Lapava”
capacidad=5
estado=enjuagando
PROGRAMACIÓN
ORIENTADA A OBJETOS
Definición:
La POO es un estilo de programación, donde todos loselementos que forman parte del problema se conciben comoobjetos, definiendo cuales son sus atributos y comportamiento,como se relacionan entre sí y como están organizadas.
Estructura Interna de un Objeto:
Atributos: Define el estado del objeto
Métodos: Define el comportamiento del objeto
Clase
Objeto
Atributos
Métodos
Instancia
Abstracción
Encapsulamiento
Modularidad
Jerarquía
Generalización
TERMINOLOGÍA DE LA
POO
Herencia
Asociación
Agregación
Polimorfismo
Constructor
Destructor
Miembro Público
Miembro Privado
Miembro Protegido
TERMINOLOGÍA DE LA
POO
Abstracción: La abstracción es la capacidad que permite
representar las características esenciales de un objeto sin
preocuparse de las restantes características (no esenciales).
Encapsulamiento: Es la propiedad que permite asegurar
que los aspectos externos de un objeto se diferencie de sus
detalles internos.
TERMINOLOGÍA DE LA
POO
Modularidad: La modularidad es la propiedad que permite
dividir una aplicación en partes más pequeñas ( llamadas
módulos ), cada una de las cuales debe ser tan independiente
como sea posible de la aplicación en si y de las restantes partes.
Jerarquía: Es una clasificación u ordenación de las
abstracciones.
TERMINOLOGÍA DE LA
POO
Generalización: Una clase que comparte atributos y métodos
similares con otras clases se le llama superclase o clase padre.
Cuando definimos una clase padre estamos generalizando.
Herencia: Del mismo modo, cuando definimos una clase a
partir de una clase padre estamos creando una subclase. La
definición de una subclase se le denomina herencia.
TERMINOLOGÍA DE LA
POO
Asociación: Una asociación es una relación semántica entre objetos.
Cuando un objeto accede a los atributos y métodos de otro objeto
estamos definiendo una asociación entre ellos.
Agregación: La agregación es una relación que define que un objeto
es parte de otro objeto. Cuando definimos que un objeto tiene como
atributo otro objeto decimos que es una agregación. A través de la
agregación se definen objetos compuestos.
TERMINOLOGÍA DE LA
POO
Polimorfismo: Es el mecanismo de definir un mismo método en
varios objetos de diferentes clases pero con distintas formas de
implementación.
Constructor: Es un método que se invoca cuando un objeto es
construido
Destructor: Es un método que se invoca cuando un objeto es
destruido.
TERMINOLOGÍA DE LA
POO
Miembro Público: Atributo o método de una clase que
puede ser accesado desde cualquier parte del programa.
Miembro Privado: Atributo o método de una clase que
puede ser accesado solo dentro de esa clase.
Miembro Protegido: Atributo o método de una clase que
puede ser accesado desde esa clase y sus clases heredadas.
TERMINOLOGÍA DE LA
POO
Paradigma: El paradigma de programación representa un enfoque particular o filosofía para la construcción del software.
El enfoque no es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro.
El paradigma de programación se refiere a:
¿Estilo de Programación?
Manera de Visualizar y Resolver Problemas de Programación
Procedural, Imperativo
Lógico, Declarativo
Visual
Paralelo
Orientado a Objetos
Filosofía
Historia, Objetivos y Metas
Modelos y Enfoques
Conceptos
Principios
Soporte
Notación, Metodologías
Herramientas y Tecnologías
E L LE NGUAJE UNIFICADO DE
MODE LADO (UML)
UML es un lenguaje para hacer modelos y es independiente de los métodos de
análisis y diseño. Existen diferencias importantes entre un método y un lenguaje
de modelado. Un método es una manera explícita de estructurar el pensamiento y
las acciones de cada individuo. Además, el método le dice al usuario qué hacer,
cómo hacerlo, cuándo hacerlo y por qué hacerlo; mientras que el lenguaje de
modelado carece de estas instrucciones. Los métodos contienen modelos y esos
modelos son utilizados para describir algo y comunicar los resultados del uso del
método.
Un modelo es expresado en un lenguaje de modelado. Un lenguaje de modelado
consiste de vistas, diagramas, elementos de modelo ¾ los símbolos utilizados en
los modelos ¾ y un conjunto de mecanismos generales o reglas que indican
cómo utilizar los elementos. Las reglas son sintácticas, semánticas y pragmáticas.
Los principales beneficios de UML son:
Mejores tiempos totales de desarrollo (de 50 % o más).
Modelar sistemas (y no sólo de software) utilizando conceptos orientados a
objetos.
Establecer conceptos y artefactos ejecutables.
Encaminar el desarrollo del escalamiento en sistemas complejos de misión crítica.
Crear un lenguaje de modelado utilizado tanto por humanos como por máquinas.
Mejor soporte a la planeación y al control de proyectos.
Alta reutilización y minimización de costos.
EJEMPLOclass clasePersona {
private $nombre;
private $anio_nacimento;
private $edad;
public $estado_civil;
public function __construct($nombre, $anio_nacimiento) {
$this->nombre = $nombre;
$this->anio_nacimiento = $anio_nacimiento;
}
private function calcular_edad($anio_actual) {
$edad = $anio_actual - $this->anio_nacimiento;
return $edad;
}
….
}
Alumno: MACEDONIO TRINIDAD EDEL
Carrera: ING. ELECTRÓNICA
Materia: PROGRAMACIÓN VISUAL.
Docente: ING. GUILLERMINA JIMÉNEZ RASGADO
EJEMPLOclass Persona {
….
public function obtener_nombre() {
return $this->nombre;
}
public function obtener_edad($anio_actual) {
$anio_actual = date(“Y”,mktime());
$this->edad = $this->calcular_edad($anio_actual);
return $this->edad;
}
}