Bloque1-Poo Paradigma y Uml Unrc
Bloque1-Poo Paradigma y Uml Unrc
Bloque1-Poo Paradigma y Uml Unrc
1
Ministerio de Educación y Deportes
2
Ministerio de Educación y Deportes
4
Ministerio de Educación y Deportes
Introducción
El módulo Programación orientada a Objetos tiene, como propósito general, contribuir a que los
estudiantes desarrollen capacidades técnicas de programación con objetos. Profundiza y amplía las
capacidades construidas en el módulo Técnicas de Programación dado que se emplean las
herramientas adquiridas en este último, en una nueva modalidad de resolución de problemas.
Este módulo se constituye, así en un espacio de formación que permite a los estudiantes desarrollar
saberes propios de la formación específica de la figura profesional de “Programador”.
En este contexto se entiende por orientación a objetos a un paradigma de programación que facilita
la creación de software de calidad, debido a sus características específicas que potencian el
mantenimiento, la extensión y la reutilización del software generado. Los programas se organizan
como colecciones cooperativas de objetos, cada uno de los cuales representa una instancia de alguna
clase, y cuyas clases son miembros de una jerarquía de clases vinculadas mediante relaciones de
herencia. 5
Ministerio de Educación y Deportes
6
Ministerio de Educación y Deportes
7
Ministerio de Educación y Deportes
Metodología de desarrollo
8
Ministerio de Educación y Deportes
Lenguaje de POO
9
Ministerio de Educación y Deportes
Codificación
Identificación Modelado
de clases y UML
en Lenguaje Aplicación
de
relaciones (Diagramas)
Programación (Software)
La organización del módulo sigue una secuencia que toma como punto de partida la
identificación de las clases que modelan el problema, sus relaciones y representación
mediante UML y por último su codificación en un lenguaje de programación orientado a
objetos, dando como resultado la aplicación.
10
Ministerio de Educación y Deportes
Fundamentos de la POO
11
Ministerio de Educación y Deportes
13
Ministerio de Educación y Deportes
Lenguajes de programación
Cada lenguaje de programación tiene un “código fuente” característico y único
que está diseñado para una función o un propósito determinado y que nos
sirven para que una computadora se comporte de una manera deseada.
En la actualidad existe un gran número de lenguajes de programación
diferentes.
En todo caso los lenguajes de programación deben tener instrucciones que
pertenecen a las categorías ya familiares de entrada/salida,
cálculo/manipulación de textos, lógica/comparación y almacenamiento /
recuperación.
En el apunte se puede observar un recorrido en el tiempo por los lenguajes de
programación más conocidos.
14
Ministerio de Educación y Deportes
15
Ministerio de Educación y Deportes
16
Ministerio de Educación y Deportes
17
Ministerio de Educación y Deportes
18
Ministerio de Educación y Deportes
Paradigmas de Programación
Un paradigma de programación provee y determina la visión y métodos de un programador en la
construcción de un programa o subprograma. Diferentes paradigmas resultan en diferentes estilos de
programación y en diferentes formas de pensar la solución de problemas.
Los lenguajes de programación están basados en uno o más paradigmas.
19
Ministerio de Educación y Deportes
Paradigmas de Programación
ORIENTADO A
IMPERATIVO DECLARATIVO ESTRUCTURADO FUNCIONAL LÓGICO
OBJETOS
PASCAL, C, JAVA, DELPHI,
PASCAL,
VISUAL BASIC, PROLOG, C++, SMALTALK,
C, HASKELL, LISP,
RUBY, PHP, SQL, PROLOG RUBY, PYTHON,
JAVA RUBY, PYTHON
PYTHON, HTML EIFFEL,
JAVASCRIPT JAVASCRIPT
20
Ministerio de Educación y Deportes
Paradigmas de Programación
Paradigma Orientado a Objetos
La programación orientada a objetos intenta simular el mundo real a través del significado de objetos
que contiene características y funciones. Está basado en la idea de encapsular estado y operaciones en
objetos. En general, la programación se resuelve comunicando dichos objetos a través de mensajes. Su
principal ventaja es la reutilización de código y su facilidad para pensar soluciones a determinados
problemas.
El lenguaje de programación elegido para trabajar es Java, que pertenece al paradigma orientado a
objetos
21
Ministerio de Educación y Deportes
22
Ministerio de Educación y Deportes
23
Ministerio de Educación y Deportes
¿Qué es un Objeto ?
Representa un elemento, unidad o entidad individual e identificable, ya sea real o abstracta, con
un rol bien definido en el dominio del problema”. 24
Ministerio de Educación y Deportes
Una clase es un conjunto de objetos que comparten una estructura común y un comportamiento
común. 25
Ministerio de Educación y Deportes
Estado de un Objeto
27
Ministerio de Educación y Deportes
Comportamiento de un Objeto
28
Ministerio de Educación y Deportes
29
Ministerio de Educación y Deportes
Identidad de un Objeto
30
Ministerio de Educación y Deportes
Abstracción Tipificación
Encapsulamiento Concurrencia
Modularidad Persistencia
Jerarquía 31
Ministerio de Educación y Deportes
¿Qué es la Abstracción?
¿Qué es el Encapsulamiento?
Abstracción y
Encapsulamiento
Clasificación
¿Qué es la Modularidad?
37
Ministerio de Educación y Deportes
Herencia y Polimorfismo
39
Ministerio de Educación y Deportes
Herencia y Polimorfismo
Clase Cuenta Bancaria
saldo
^saldo
saldo:unMonto
saldo:=unMonto
depositar:unMonto
selfsaldo: selfsaldo + unMonto
extraer:unMonto
self puedoExtraer:unMonto
if true [realizar
extracción:unMonto]
^false
CLASE CajaDeAhorro
extraccionesPosibles
Clase CuentaCorriente ^extraccionesPosibles
rojoPermitido extraccionesPosibles
^rojoPermitido extraccionesPosibles:=unNumero
rojoPermitido:unMonto hayExtraccionesPosibles
rojoPermitido:unMonto ^(extraccionesPosibles > 0)
decrementarUnaExtraccion
realizarExtraccion:unMonto
self extraccionesPosibles: extraccionesPosibles – 1
selfsaldo: selfsaldo – unMonto realizarExtraccion:unMonto
puedoExtraer selfsaldo: selfsaldo – unMonto
^(selfsaldo + rojoPermitido > = unMonto) selfdecrementarUnaExtracción
puedoExtraer:unMonto
^(selfhayExtraccionesPosibles & selfsaldo >= unMonto)
40
Ministerio de Educación y Deportes
Abstracción Tipificación
Encapsulamiento Concurrencia
Modularidad Persistencia
Jerarquía 41
Ministerio de Educación y Deportes
Tipificación
Concurrencia
Persistencia
Clasificación
Clasificación
Conceptos Principios o ideas no tangibles, utilizados para organizar o llevar cuenta de actividades de negocios
y/o comunicaciones. Ejemplo: Materia, Carrera, Tratamiento Médico.
Eventos Cosas que suceden, que habitualmente vinculan a clases de alguna de las otras categorías, en una
fecha y/u horas concretas, o como pasos dentro de una secuencia ordenada. Ejemplo: Aterrizaje,
Inscripción, Venta, Reserva, Donación. 47
Ministerio de Educación y Deportes
48