POO-U1 e Intro

46
TECNOLÓGICO NACIONAL DE MÉXI Instituto Tecnológico Superior d PROGRAMACIÓN ORIENTADA A OBJETOS

description

Programacion orientada a objetosintroduccion y UML

Transcript of POO-U1 e Intro

Presentacin de PowerPoint

TECNOLGICO NACIONAL DE MXICOInstituto Tecnolgico Superior de Guasave

PROGRAMACIN ORIENTADA A OBJETOS

Mtro. Jos Antonio Sandoval AcostaPROGRAMACIN ORIENTADA A OBJETOSCompetencias Previas de la Asignatura

Analizar, disear y desarrollar soluciones de problemas reales utilizando algoritmos computacionales para implementarlos en un lenguaje de programacin orientado a objetos.

PROGRAMACIN ORIENTADA A OBJETOSCompetencias Especficas de la Asignatura:

Disear e implementar objetos de programacin que permitan resolver situaciones reales y de ingeniera.PROGRAMACIN ORIENTADA A OBJETOSCaracterizacin de la asignatura. 6 Unidades de Aprendizaje5 horas por semanaEsta asignatura aporta al perfil del Ingeniero en Sistemas Computacionales la capacidad de analizar, desarrollar, implementar y administrar software de aplicacin orientado a objetos, cumpliendo con estndares de calidad, con el fin de apoyar la productividad y competitividad de las organizaciones.Esta materia proporciona soporte a otras, ms directamente vinculadas con desempeos profesionales; Proporciona al estudiante las competencias necesarias para abordar el estudio de cualquier lenguaje orientado a objetos, metodologa de anlisis y diseo orientado a objetos, de los sistemas gestores de bases de datos, y en general de cualquier materia basada en el modelo orientado a objetos.PROGRAMACIN ORIENTADA A OBJETOSTemario de la AsignaturaPROGRAMACIN ORIENTADA A OBJETOS

PROGRAMACIN ORIENTADA A OBJETOSTemario de la Asignatura

FUNDAMENTOS DE BASE DE DATOSTemario de la AsignaturaPROGRAMACIN ORIENTADA A OBJETOS

FUNDAMENTOS DE BASE DE DATOSTemario de la AsignaturaPROGRAMACIN ORIENTADA A OBJETOS

Temario de la AsignaturaPROGRAMACIN ORIENTADA A OBJETOS

Temario de la AsignaturaPROGRAMACIN ORIENTADA A OBJETOS

PROGRAMACIN ORIENTADA A OBJETOSForma de Evaluacin de la AsignaturaExamen por unidad 20%Tareas y entregables 40%Proyecto final (obligatorio)20%Exposicin por equipos20% Total100%Temario de la AsignaturaPROGRAMACIN ORIENTADA A OBJETOS

Competencia EspecficaComprender, describir y modelar los conceptos principales del paradigma de programacin orientado a objetos y aplicarlos a situaciones de la vida real.UNIDAD IPROGRAMACIN ORIENTADA A OBJETOSQu es un objeto?

Un objeto es una entidad fsica o abstracta que tiene un comportamiento antes ciertos estmulos, tanto externos como de otros objetos especficos que se encuentran dentro del sistema.PROGRAMACIN ORIENTADA A OBJETOSQu se puede considerar como objeto?- Persona- Equipo Hardware- Materiales- Informacin- Software- Procesos- Procedimientos

PROGRAMACIN ORIENTADA A OBJETOSObjeto Fsico: Horno

Operaciones asociadas: Encendido Apagado Cargado Descargado.PROGRAMACIN ORIENTADA A OBJETOSObjeto Abstracto: ColaOperaciones asociadas:Agregar elementoEliminar elementoVerificar si est vacaVerificar si est llenaPrimer elemento de la colaSiguiente elemento de la cola

PROGRAMACIN ORIENTADA A OBJETOSIdentidad de un objetoCada objeto tiene su propia identidad que lo distingue de los dems objetos. En otras palabras, dos objetos distintos no son iguales aunque todos los valores de sus atributos sean idnticos.

PROGRAMACIN ORIENTADA A OBJETOSLaprogramacin orientada a objetosoPOO(OOPsegn sus siglas en ingls) es unparadigma de programacinque usaobjetosy sus interacciones, para disear aplicaciones y programasinformticos.

Est basado en varias tcnicas incluyendo: HerenciaAbstraccinPolimorfismo yEncapsulamientoPROGRAMACIN ORIENTADA A OBJETOSClases y Objetos

Una clase es bsicamente un plano para un tipo de datos personalizado. Cuando se define una clase, se utiliza cargndola en la memoria.

Una clase que se ha cargado en la memoria se denomina objeto o instancia.PROGRAMACIN ORIENTADA A OBJETOSLas caractersticas principales de los objetos son:Encapsulacin: combinacin en una sola estructura los datos, procedimientos y funciones que los manipulan para formar un nuevo tipo - el objeto.Permite que la informacin de un objeto permanezca oculta para el mundo exterior.

PROGRAMACIN ORIENTADA A OBJETOSHerencia: Definicin de un objeto y luego uso del mismo para construir una jerarqua de objetos descendientes, con cada descendiente heredando acceso a todo el cdigo y datos del ancestro.

PROGRAMACIN ORIENTADA A OBJETOSPolimorfismo: Dada una accin un nombre que es compartido hacia arriba y abajo en una jerarqua de objetos, con cada objeto en la jerarqua implementando la accin de una manera apropiada a s mismo.

PROGRAMACIN ORIENTADA A OBJETOSAbstraccin: Es la encargada desde el punto de vista de la programacin orientada a objetos expresa las caractersticas esenciales de un objeto, las cuales distinguen al objeto de los dems. Adems de distinguir entre los objetos provee lmites conceptuales. Entonces se puede decir que la encapsulacin separa las caractersticas esenciales de las no esenciales dentro de un objeto.

PROGRAMACIN ORIENTADA A OBJETOS

PROGRAMACIN ORIENTADA A OBJETOSTarea 1:Dibuje una jerarqua de vehculos para pasajeros (bicicleta, motocicleta, automvil, etc.)

Comience con el diseo de un mapa conceptual de la Programacin Orientada a Objetos.

PROGRAMACIN ORIENTADA A OBJETOSLOS MIEMBROS DE UNA CLASE SON:

Mtodos: Acciones que puede realizar Propiedades: Caractersticas que se pueden leer y, a veces, modificarEventos: Notificaciones (eventos) que produce cuando se realiza una accin concretaAtributos: Variables internas y constantes

PROGRAMACIN ORIENTADA A OBJETOSModelado de Clases y Objetos con UMLPROGRAMACIN ORIENTADA A OBJETOSEl lenguaje UML (en ingls, Unified Modeling Language) es un lenguaje para la:Especificacin, Visualizacin, Construccin, yDocumentacin de las partes de un sistema de software.

Consiste en una coleccin de las mejores prcticas de ingeniera que mostraron ser exitosas en el modelado de sistemas complejos.PROGRAMACIN ORIENTADA A OBJETOSFu creado en 1996, por el Object Mangement Group (www.omg.org) con sucesivas modificaciones y agregados para permitir mayor funcionalidad, gracias al aporte y la participacin de empresas como IBM, Hewlett Packard, Microsoft, Unisys y Oracle, entre otras.

Es un lenguaje predominantemente visual, que consiste de varios diagramas, cada uno modelando un parte esencial del sistema a construir.

PROGRAMACIN ORIENTADA A OBJETOSDIAGRAMA DE CLASES

Las clases son dibujadas con un rectngulo, dividido en tres partes: El nombre de la clase, Los atributos, y Las operaciones correspondientes.

Puede agregarse tambin una divisin en donde se especifican las responsabilidades de esa clase.

PROGRAMACIN ORIENTADA A OBJETOSRepresentacin de una clase

PROGRAMACIN ORIENTADA A OBJETOSEl nombre de la clase debe ser lo menos ambiguo posible, usualmente un sustantivo.

Atributos: Los atributos describen las caractersticas de los objetos.

Poseen un tipo, que nos indica qu clase de atributo es. Si bien existen ciertos tipos primitivos, como enteros, booleanos y reales, cualquier tipo puede ser usado, incluso otras clases.

PROGRAMACIN ORIENTADA A OBJETOSLa restriccin ms importante es que los atributos son visibles nicamente por la clase que los contiene.

La sintaxis de declaracin es la siguiente:: < = valor_inicial >

El dato valor_inicial es opcional y permite inicializar los atributos directamente en la declaracin.

PROGRAMACIN ORIENTADA A OBJETOSLas operaciones son utilizadas para manipular los atributos o realizar consultas.

La sintaxis para describir una operacin es la siguiente:

():PROGRAMACIN ORIENTADA A OBJETOSA diferencia de los atributos, las operaciones pueden tener diferente visibilidad hacia otras clases, la cual se denota entre llaves a la izquierda de la declaracin. Todas las operaciones estn agrupadas de acuerdo a los estereotipos , o de acuerdo a su funcin en la clase.

PROGRAMACIN ORIENTADA A OBJETOSLas responsabilidades son las obligaciones de una clase y son definidas por el usuario. Si bien, existe un compartimiento dentro de la clase para la especificacin de las responsabilidades, stas son de carcter opcional.

PROGRAMACIN ORIENTADA A OBJETOSDependiendo del nivel de detalle que queremos alcanzar en el modelo, se pueden obviar algunas de las divisiones del grfico de clases. Esto permite simplificar el diagrama completo, de acuerdo al nivel de abstraccin necesario. Puede utilizarse, por ejemplo

PROGRAMACIN ORIENTADA A OBJETOSNotas:A los grficos de clases se les puede agregar notas o comentarios sobre algn aspecto interesante de la clase.

Estas notas pueden incluir observaciones sobre la clase, alguna restriccin de uso, e incluso el pseudo-cdigo de algunas operaciones.

Se grafican por medio de un rectngulo con la esquina superior derecha plegada, como si fuera una hoja, y se une con una lnea al elemento de la clase al cual corresponde la nota.

PROGRAMACIN ORIENTADA A OBJETOSRepresentacin de las Notas

PROGRAMACIN ORIENTADA A OBJETOSLas relaciones ms importantes entre clases que utilizaremos son Asociaciones, Agregaciones, y Generalizacin.

PROGRAMACIN ORIENTADA A OBJETOSAsociacinUna asociacin es una conexin entre clases. Significa que los objetos de dos clases tendrn un vnculo bidireccional en comn, el cual puede interpretarse como para cada X existe un Y. Se representa por medio de una lnea continua entre dos clases.

PROGRAMACIN ORIENTADA A OBJETOSMultiplicidadSe utiliza multiplicidad cuando no necesariamente los vnculos entre objetos son de uno a uno.Se especifica en cada extremo del vnculo, a travs de un rango, cuntos objetos pueden estar vinculados.

PROGRAMACIN ORIENTADA A OBJETOSEl diagrama anterior indica que cada programador tendr varias computadoras (posiblemente ninguna), y que cada computadora ser usada por al menos un programador.

PROGRAMACIN ORIENTADA A OBJETOSRangosAlgunos ejemplos de rangos son los siguientes:

Cuando no se especifica ningn rango, se asume el valor uno (1) por defecto. Puede agregarse una flecha a la lnea, indicando la direccin del vnculo:

PROGRAMACIN ORIENTADA A OBJETOSAgregacionesAgregacin es un caso especial de asociacin. Indica que una o ms clases (clases componentes) forman parte de otra clase (clase agregada). Se denota con un rombo en uno de los extremos del vnculo, aqul que corresponde a la clase agregada. Puede interpretarse como posee (o contiene) un.

PROGRAMACIN ORIENTADA A OBJETOSEn la agregacin, la multiplicidad de la clase agregada debe ser cero o uno (0..1), pero en las clases que conforman las partes puede ser un rango cualquiera.

Aqu, el diagrama indica que una ventana de Windows puede contener uno o ms botones.

PROGRAMACIN ORIENTADA A OBJETOSOtra posible forma de representar la agregacin entre clases es incluir el grfico de una clase (el agregado) dentro del grfico de otra. Por ejemplo;

PROGRAMACIN ORIENTADA A OBJETOSSi el agregado requiere especificar multiplicidad, escribimos el rango correspondiente en la esquina superior derecha de la clase.

PROGRAMACIN ORIENTADA A OBJETOSGeneralizaciones

La generalizacin es la relacin entre una clase ms general y un clase ms especfica.

La clase ms especifica (denominada subclase) es consistente con la clase ms general (denominada superclase), y contiene informacin adicional.

La generalizacin permite la especializacin de las clases. PROGRAMACIN ORIENTADA A OBJETOSGeneralizacionesSe denota con un tringulo en el extremo del vnculo correspondiente al elemento ms general. La relacin puede interpretarse informalmente como es un.

El diagrama indica que un taxi es una clase particular de autos, con una patente (placa) extra y un cdigo utilizado por la empresa. Son heredados de la clase Auto todos los dems atributos, como la patente oficial, el modelo, el motor, etc.

PROGRAMACIN ORIENTADA A OBJETOSCuando una clase posee ms de una subclase, pueden organizarse en forma de rbol de la siguiente manera:

PROGRAMACIN ORIENTADA A OBJETOSEjemplo de diagrama de clases:

PROGRAMACIN ORIENTADA A OBJETOSEvidencia de aprendizaje 1:

Genera la clase vehculo con todos sus atributos, acciones y hereda al menos 3 tipos de vehculos.

A cada objeto heredado genera sus asociaciones, agregaciones, rangos, multiplicidad, generalizaciones, etc. (por lo menos 3).

Entregar trabajo individual con el diagrama completo.PROGRAMACIN ORIENTADA A OBJETOSInstituto Tecnolgico Superior de GuasaveRBRICA PARA EVIDENCIAS GRFICAS Carrera: Asignatura: Tema: Alumno/equipo:DIMENSIONES O CRITERIOS A EVALUAR % POR CRITERIO % OBTENIDO OBSERVACIONES (anotar razones por las que no se alcanz el porcentaje ms alto) REDACCIN Y ORTOGRAFA 20% Utiliza las reglas ortogrficas bsicas. 10 Claridad y continuidad del contenido. 10 FORMATO Y CONTENIDO 80% Utiliza los elementos grficos vistos en clase15 Ordena los elementos grficos de manera visual y entendible15 Traza las relaciones de los grficos correctamente 10 Los elementos grficos son fcilles de interpretar10 Se identifican claramente la idea principal y las ideas secundarias15 Se identifican claramente las jerarquas existentes15Total de Puntos ObtenidosTemario de la AsignaturaPROGRAMACIN ORIENTADA A OBJETOS

PROGRAMACIN ORIENTADA A OBJETOSCompetencias EspecficasImplementar clases y objetos cumpliendo las reglas de la programacin orientada a objetos.

Implementar constructores y destructores para inicializar atributos y liberar recursos.

Sobrecargar mtodos y operadores para optimizar el cdigo de una clase.