Tarea 3

21
PROGRAMACIÓN ORIENTADO A OBJETOS POO

Transcript of Tarea 3

PROGRAMACIÓN

ORIENTADO A OBJETOS

POO

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.

LAS CLASES Y LOS OBJETOS

ESTÁN EN TODAS PARTES

Vehículo

Animal

Figura

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;

}

}

CONSTRUCCIÓN Y

MANIPULACIÓN DE

OBJETOS

Creación de un objeto

$objeto = new NombreClase($parametros);

Acceso a un atributo de una clase

$objeto->variable = valor;

Acceso a un metodo o función de una clase

$objeto->nombreMetodo($parametros);