SlideShare una empresa de Scribd logo
TECNOLÓGICO NACIONAL DE MÉXICO
Instituto Tecnológico Superior de Guasave
Ingeniería en Sistemas Computacionales
Unidad 1: Introducción al Paradigma de la POO
PROGRAMACIÓN ORIENTADA A OBJETOS
Unidad 1
PROGRAMACIÓN ORIENTADA A OBJETOS
Competencia de la unidad:
Comprende y aplica los conceptos del paradigma de
programación orientada a objetos para modelar situaciones de
la vida real.
PROGRAMACIÓN ORIENTADA A OBJETOS
¿Qué es un objeto?
• Un objeto es una entidad física o abstracta que tiene un
comportamiento antes ciertos estímulos, tanto externos como
de otros objetos específicos que se encuentran dentro del
sistema.
PROGRAMACIÓN ORIENTADA A OBJETOS
¿Qué se puede considerar como objeto?
- Persona
- Equipo Hardware
- Materiales
- Información
- Software
- Procesos
- Procedimientos
PROGRAMACIÓN ORIENTADA A OBJETOS
Objeto Físico: Horno
Operaciones asociadas:
• Encendido
• Apagado
PROGRAMACIÓN ORIENTADA A OBJETOS
Objeto Abstracto: Cola
Operaciones asociadas:
• Agregar elemento
• Eliminar elemento
• Verificar si está vacía
• Verificar si está llena
• Primer elemento de la cola
• Siguiente elemento de la cola
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica:
Del objeto “Vehículo de Motor” mencione cuales son sus operaciones
asociadas e identifique al menos 3 tipos:
PROGRAMACIÓN ORIENTADA A OBJETOS
Identidad de un objeto
• Cada objeto tiene su propia identidad que lo distingue de los demás
objetos. En otras palabras, dos objetos distintos no son iguales
aunque todos los valores de sus atributos sean idénticos.
PROGRAMACIÓN ORIENTADA A OBJETOS
• La programación orientada a objetos o POO (OOP según sus siglas en
inglés) es un paradigma de programación que usa objetos y sus
interacciones, para diseñar aplicaciones y programas informáticos.
• Está basado en varias técnicas incluyendo:
• Herencia
• Abstracción
• Polimorfismo y
• Encapsulamiento
PROGRAMACIÓN ORIENTADA A OBJETOS
Clases y Objetos
• Una clase es básicamente un plano para un tipo de datos personalizado.
Cuando se define una clase, se utiliza cargándola en la memoria.
• Una clase que se ha cargado en la memoria se denomina objeto o
instancia.
PROGRAMACIÓN ORIENTADA A OBJETOS
Las características principales de los objetos
son:
• Encapsulación: combinación en una sola
estructura los datos, procedimientos y
funciones que los manipulan para formar un
nuevo tipo - el objeto.
• Permite que la información de un objeto
permanezca oculta para el mundo exterior.
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica
Del objeto “vehículo de motor” menciona los datos, procedimientos y
funciones que lo conforman:
PROGRAMACIÓN ORIENTADA A OBJETOS
• Herencia: Definición de un objeto y luego uso del mismo para construir una
jerarquía de objetos descendientes, con cada descendiente heredando
acceso a todo el código y datos del ancestro.
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica
Del objeto “vehículo de motor” menciona al menos 3 tipos heredados y de
cada tipo al menos 2 subtipos heredados:
PROGRAMACIÓN ORIENTADA A OBJETOS
• Polimorfismo: Dada una acción un nombre que es compartido hacia
arriba y abajo en una jerarquía de objetos, con cada objeto en la jerarquía
implementando la acción de una manera apropiada a sí mismo.
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica
De los 3 tipos de vehículos de motor que ya mencionaste describe como
realizan sus acciones básicas cada uno, diferenciándolos de los demás tipos:
PROGRAMACIÓN ORIENTADA A OBJETOS
• Abstracción: Es la encargada desde
el punto de vista de la
programación orientada a objetos
expresa las características
esenciales de un objeto, las cuales
distinguen al objeto de los demás.
Además de distinguir entre los
objetos provee límites
conceptuales.
• Entonces se puede decir que la
encapsulación separa las
características esenciales de las no
esenciales dentro de un objeto.
PROGRAMACIÓN ORIENTADA A OBJETOS
Aplicando
abstracción
Objetos polígonos
Clase polígono
Atributos
Vértices
Colordelborde
Colorde relleno
Operaciones
Dibujar
Borrar
Mover
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica
De los 3 tipos de vehículos de motor que ya mencionaste describe sus
componentes que son ocultados al exterior y por lo tanto resultan abstractos:
PROGRAMACIÓN ORIENTADA A OBJETOS
Tarea 1:
• Dibuje una jerarquía de vehículos para pasajeros (bicicleta, motocicleta,
automóvil, etc.)
• Comience con el diseño de un mapa conceptual de la Programación
Orientada a Objetos.
PROGRAMACIÓN ORIENTADA A OBJETOS
Modelado de Clases y Objetos con UML
PROGRAMACIÓN ORIENTADA A OBJETOS
• El lenguaje UML (en inglés, Unified Modeling Language) es un
lenguaje para la:
• Especificación,
• Visualización,
• Construcción, y
• Documentación de las partes de un sistema de software.
• Consiste en una colección de las mejores prácticas de ingeniería que
mostraron ser exitosas en el modelado de sistemas complejos.
PROGRAMACIÓN ORIENTADA A OBJETOS
• Fue 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 participación 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.
PROGRAMACIÓN ORIENTADA A OBJETOS
DIAGRAMA DE CLASES
• Las clases son dibujadas con un rectángulo, dividido en tres partes:
• El nombre de la clase,
• Los atributos, y
• Las operaciones correspondientes.
• Puede agregarse también una división en donde se especifican las
responsabilidades de esa clase.
PROGRAMACIÓN ORIENTADA A OBJETOS
Representación de una clase
PROGRAMACIÓN ORIENTADA A OBJETOS
• El nombre de la clase debe ser lo menos ambiguo posible, usualmente
un sustantivo.
• Atributos: Los atributos describen las características 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.
PROGRAMACIÓN ORIENTADA A OBJETOS
• La restricción más importante es que los atributos son visibles
únicamente por la clase que los contiene.
• La sintaxis de declaración es la siguiente:
<nombre>:<tipo> < = valor_inicial >
• El dato valor_inicial es opcional y permite inicializar los atributos
directamente en la declaración.
PROGRAMACIÓN ORIENTADA A OBJETOS
• Las operaciones son utilizadas para manipular los atributos o realizar
consultas.
• La sintaxis para describir una operación es la siguiente:
<nombre_operación>(<parámetros>):<tipo_resultado>
PROGRAMACIÓN ORIENTADA A OBJETOS
• A diferencia de los atributos, las operaciones pueden tener diferente
visibilidad hacia otras clases, la cual se denota entre llaves a la izquierda de
la declaración.
• Todas las operaciones están agrupadas de acuerdo a los estereotipos
• <<comando>>,
• <<consulta>> o
• <<constructor>> de acuerdo a su función en la clase.
PROGRAMACIÓN ORIENTADA A OBJETOS
• Las responsabilidades son las obligaciones de una clase y son definidas
por el usuario.
• Si bien, existe un compartimiento dentro de la clase para la
especificación de las responsabilidades, éstas son de carácter opcional.
PROGRAMACIÓN ORIENTADA A OBJETOS
• Dependiendo del nivel de detalle que queremos alcanzar en el modelo, se
pueden obviar algunas de las divisiones del gráfico de clases.
• Esto permite simplificar el diagrama completo, de acuerdo al nivel de
abstracción necesario. Puede utilizarse, por ejemplo
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica:
• Realice representación de clase de una persona con sus atributos básicos y
operaciones (al menos 3 de cada uno)
PROGRAMACIÓN ORIENTADA A OBJETOS
Notas en el diagrama:
• A los gráficos de clases se les puede agregar notas o comentarios sobre
algún aspecto interesante de la clase.
• Estas notas pueden incluir observaciones sobre la clase, alguna
restricción de uso, e incluso el pseudo-código de algunas operaciones.
• Se grafican por medio de un rectángulo con la esquina superior derecha
plegada, como si fuera una hoja, y se une con una línea al elemento de la
clase al cual corresponde la nota.
PROGRAMACIÓN ORIENTADA A OBJETOS
Representación de las Notas
PROGRAMACIÓN ORIENTADA A OBJETOS
Las relaciones más importantes entre clases que utilizaremos son:
• Asociaciones,
• Agregaciones,
• Dependencia, y
• Generalización.
PROGRAMACIÓN ORIENTADA A OBJETOS
Asociación (Conexión entre clases)
• Una asociación es una conexión entre clases. Significa que los objetos de
dos clases tendrán un vínculo bidireccional en común, el cual puede
interpretarse como “para cada X existe un Y”.
• Se representa por medio de una línea continua entre dos clases.
PROGRAMACIÓN ORIENTADA A OBJETOS
Multiplicidad
• Se utiliza multiplicidad cuando no necesariamente los vínculos entre
objetos son de uno a uno.
• Se especifica en cada extremo del vínculo, a través de un rango, cuántos
objetos pueden estar vinculados.
PROGRAMACIÓN ORIENTADA A OBJETOS
• El diagrama anterior indica que cada programador tendrá varias
computadoras (posiblemente ninguna), y que cada computadora será usada
por al menos un programador.
PROGRAMACIÓN ORIENTADA A OBJETOS
Rangos
• Algunos ejemplos de rangos son los siguientes:
Cuando no se especifica ningún rango, se asume el valor uno (1) por defecto.
Puede agregarse una flecha a la línea, indicando la dirección del vínculo:
PROGRAMACIÓN ORIENTADA A OBJETOS
Agregaciones (Posee/contiene)
• Agregación es un caso especial de asociación. Indica que una o más clases
(clases componentes) forman parte de otra clase (clase agregada).
• Se denota con un rombo en uno de los extremos del vínculo, aquél que
corresponde a la clase agregada.
• Puede interpretarse como “posee (o contiene) un”.
PROGRAMACIÓN ORIENTADA A OBJETOS
• En la agregación, 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 más botones.
PROGRAMACIÓN ORIENTADA A OBJETOS
• Otra posible forma de representar la agregación entre clases es incluir el
gráfico de una clase (el agregado) dentro del gráfico de otra. Por ejemplo;
PROGRAMACIÓN ORIENTADA A OBJETOS
• Si el agregado requiere especificar multiplicidad, escribimos el rango
correspondiente en la esquina superior derecha de la clase.
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica: Agregaciones (Posee/contiene)
• Identifique en un automóvil al menos 3 agregaciones que no sean las ya
mencionadas.
PROGRAMACIÓN ORIENTADA A OBJETOS
Dependencia (relación de uso)
• Es una relación de uso entre dos clases (una usa a la otra). Esta relación es
la más básica entre clases y comparada con los demás tipos de relación, la
mas débil.
Representación UML
• Se representa con una flecha discontinua que parte desde una clase y
apunta a otra. El sentido de la flecha nos indica quien usa a quien.
PROGRAMACIÓN ORIENTADA A OBJETOS
Práctica: Dependencia (relación de uso)
• Identifique en una computadora que relación de dependencia tiene con
otros objetos.
PROGRAMACIÓN ORIENTADA A OBJETOS
Generalizaciones (Herencia/Especificación)
• La generalización es la relación entre una clase más general y un clase más
específica.
• La clase más especifica (denominada subclase) es consistente con la clase
más general (denominada superclase), y contiene información adicional.
• La generalización permite la especialización de las clases, es decir, en este
caso la superclase hereda todas sus características a la subclase.
PROGRAMACIÓN ORIENTADA A OBJETOS
Generalizaciones Se denota con un triángulo en el extremo del vínculo
correspondiente al elemento más general. La relación 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 código utilizado por la empresa. Son heredados
de la clase Auto todos los demás atributos, como la patente oficial, el
modelo, el motor, etc.
PROGRAMACIÓN ORIENTADA A OBJETOS
• Cuando una clase posee más de una subclase, pueden organizarse en
forma de árbol de la siguiente manera:
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejemplo de Generalizaciones
• Identifique de un objeto avión al menos 3 generalizaciones con
sus respectivos atributos.
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejemplo:
PROGRAMACIÓN ORIENTADA A OBJETOS
Ejemplo de diagrama de clases:
PROGRAMACIÓN ORIENTADA A OBJETOS
Evidencia de aprendizaje 1:
• Genera la clase vehículo con todos sus atributos, acciones y hereda al menos
3 tipos de vehículos.
• A cada objeto heredado genera sus asociaciones, agregaciones, rangos,
multiplicidad, generalizaciones, etc. (entre 1 y 3 de cada una).
• Entregar trabajo individual con el diagrama completo en papel.
PROGRAMACIÓN ORIENTADA A OBJETOS
Instituto Tecnológico Superior de Guasave
RÚBRICA PARA EVIDENCIAS GRÁFICAS
Carrera:
Asignatura:
Tema:
Alumno/equipo:
DIMENSIONES O CRITERIOS A
EVALUAR
% POR
CRITERIO
%
OBTENIDO
OBSERVACIONES (anotar razones por las que no se alcanzó el porcentaje más
alto)
REDACCIÓN Y ORTOGRAFÍA 20%
Utiliza las reglas ortográficas básicas. 10
Claridad y continuidad del contenido. 10
FORMATO Y CONTENIDO 80%
Utiliza los elementos gráficos vistos en
clase
15
Ordena los elementos gráficos de manera
visual y entendible
15
Traza las relaciones de los gráficos
correctamente
10
Los elementos gráficos son fáciles de
interpretar
10
Se identifican claramente la idea principal
y las ideas secundarias
15
Se identifican claramente las jerarquías
existentes
15
Total de Puntos Obtenidos

Más contenido relacionado

PPT
Programación Orientada a Objetos.ppt
PPTX
Pilares de la POO
PPTX
Programación Orientada a Objetos - Unidad 2: clases y objetos
PPTX
Diagramas de objetos
PPTX
Conceptos de POO (Programacion Orientada a Objetos)
PPTX
Programacion Orientada a Objetos
PDF
Programacion Orientada a Objetos en python
PDF
8b Curso de POO en java - paso de diagrama clases a java 1
Programación Orientada a Objetos.ppt
Pilares de la POO
Programación Orientada a Objetos - Unidad 2: clases y objetos
Diagramas de objetos
Conceptos de POO (Programacion Orientada a Objetos)
Programacion Orientada a Objetos
Programacion Orientada a Objetos en python
8b Curso de POO en java - paso de diagrama clases a java 1

La actualidad más candente (20)

PPTX
Unidad 1. Introducción. Conceptos fundamentales de la POO
PPT
Poo 3 herencia
PDF
Diagrama de clases
DOCX
Tabla comparativa programación estructurada y orientada a objetos
PDF
Conceptos básicos de programación orientada a objetos (poo)
PDF
Codificacion de clases en java con NetBeans
PPTX
Programación Orientada a Objetos - Unidad 5 Excepciones
PPTX
Tipos de listas en estructura de datos
PPT
Diagramas de colaboracion
PPT
POO: Herencia, Abstraccion y Polimorfismo
PPTX
Diagrama de Componentes
PDF
10 Curso de POO en java - métodos modificadores y analizadores
PPTX
DIAGRAMAS DE CLASE
PDF
PROYECTO final de curso - Listas dobles
PPTX
Programación Orientada a Objetos (POO) y UML
PPTX
Modelo Entidad Relación
DOC
Ejemplo plan de desarrollo de software rup
PDF
7 Curso de POO en java - diagrama de clases
PDF
Paradigmas de programacion
PPTX
encapsulamiento
Unidad 1. Introducción. Conceptos fundamentales de la POO
Poo 3 herencia
Diagrama de clases
Tabla comparativa programación estructurada y orientada a objetos
Conceptos básicos de programación orientada a objetos (poo)
Codificacion de clases en java con NetBeans
Programación Orientada a Objetos - Unidad 5 Excepciones
Tipos de listas en estructura de datos
Diagramas de colaboracion
POO: Herencia, Abstraccion y Polimorfismo
Diagrama de Componentes
10 Curso de POO en java - métodos modificadores y analizadores
DIAGRAMAS DE CLASE
PROYECTO final de curso - Listas dobles
Programación Orientada a Objetos (POO) y UML
Modelo Entidad Relación
Ejemplo plan de desarrollo de software rup
7 Curso de POO en java - diagrama de clases
Paradigmas de programacion
encapsulamiento
Publicidad

Destacado (20)

PPTX
Programación Orientada Objetos Java Unidad 1
PPTX
Fundamentos de BD - Unidad 5 algebra relacional
PPTX
Topicos Avanzados de Programacion - Unidad 5 programacion movil
PPTX
Fundamentos de BD - Unidad 6 lenguaje sql
PPTX
Fundamentos de Programacion - Unidad 1 conceptos basicos
PPTX
Estructura de Datos - Unidad II Recursividad
PPTX
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
PPTX
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
PPTX
Fundamentos de BD - Unidad 4 diseño de bd relacional
DOCX
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
PPTX
Taller de Base de Datos - Unidad 7 Conectividad
PPTX
Simulación - Unidad 3 generacion de variables aleatorias
PPTX
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
PPTX
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
PPTX
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
PPTX
Taller de Base de datos - Unidad 1 SGBD introduccion
PPTX
Taller de Base de Datos - Unidad 3 lenguage DML
PPT
Conexiones inalámbricas punto a punto usando wds
PPTX
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
PPTX
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Programación Orientada Objetos Java Unidad 1
Fundamentos de BD - Unidad 5 algebra relacional
Topicos Avanzados de Programacion - Unidad 5 programacion movil
Fundamentos de BD - Unidad 6 lenguaje sql
Fundamentos de Programacion - Unidad 1 conceptos basicos
Estructura de Datos - Unidad II Recursividad
Fundamentos de BD - Unidad 1 Sistemas Gestores de BD
Topicos Avanzados de Programacion - Unidad 4 programacion concurrente
Fundamentos de BD - Unidad 4 diseño de bd relacional
Taller de BD - Unidad 1 SGBD instalación de sql server 2012
Taller de Base de Datos - Unidad 7 Conectividad
Simulación - Unidad 3 generacion de variables aleatorias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Fundamentos de Programacion - Unidad 3 Introduccion a la programacion
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Taller de Base de datos - Unidad 1 SGBD introduccion
Taller de Base de Datos - Unidad 3 lenguage DML
Conexiones inalámbricas punto a punto usando wds
Tópicos Avanzados de Programación - Unidad 5 Programacion movil
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Publicidad

Similar a Programacion orientada a objetos Unidad 1-intro al paradigma poo (20)

PDF
Introducción a la PPO
PDF
Paradigma de Programación Orientada a Objetos
PPT
Conceptos poo progra visual
PDF
Trabajo investigativo sobre la programación orientada a objetos y java
PDF
Introduccion a la programacion orientada a objetos
PPTX
Curso de Java Intermedio
PDF
Fundamentos del Enfoque OO
PPS
PPT
1 Paradigma Objetos
DOCX
PDF
Programacion Orientada a Obejtos C++
PPTX
Programación Orientada a Objetos
DOC
Programacion orientada a_objeto
PPTX
Programación orientada a objetos
PDF
Programacionorientada a objetos
DOCX
Introduccion a la POO
DOCX
PRESENTACION
PPTX
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
PPTX
Diapositiva de poo
PPTX
Programador orientada a objetos maicol villa 9 b sistemas invicali sih
Introducción a la PPO
Paradigma de Programación Orientada a Objetos
Conceptos poo progra visual
Trabajo investigativo sobre la programación orientada a objetos y java
Introduccion a la programacion orientada a objetos
Curso de Java Intermedio
Fundamentos del Enfoque OO
1 Paradigma Objetos
Programacion Orientada a Obejtos C++
Programación Orientada a Objetos
Programacion orientada a_objeto
Programación orientada a objetos
Programacionorientada a objetos
Introduccion a la POO
PRESENTACION
LENGUAJE DE PROGRAMACIÓN ORIENTADA A OBJETOS
Diapositiva de poo
Programador orientada a objetos maicol villa 9 b sistemas invicali sih

Más de José Antonio Sandoval Acosta (20)

PPTX
Diapositivas Mejora SIG del Instituto Tecnológico Superior de Guasav
PPTX
Gestión de la Calidad Total (UNIDAD 2) UAIM
PPTX
Taller de ética U1 El sentido de aprender sobre etica.pptx
PPTX
Comunidad Tepeca - Proyecto Final UAIM-Los Mochis
PPTX
Linea del tiempo de la inteligencia artificial.pptx
PPTX
Ing. Mecatronica Prog. Básica, U5 Módulos
PPTX
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
PPTX
Ing. Mecatrónica, Prog. Básica U3 control de flujo
PPTX
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
PPTX
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
PDF
Manual de prácticas y antología para POO
PPTX
Aplicaciones móviles intro.
PPTX
Plantilla presentación.pptx
PPTX
PPTX
Diagrama de Casos de Uso UML
PPTX
Introducción al Diagrama de Clases UML
PPTX
Diagrama de clases UML
PPTX
Diagrama UML Casos de Uso
PDF
Tema 3 - Comandos básicos.pdf
PDF
Tema 1 - Intro.pdf
Diapositivas Mejora SIG del Instituto Tecnológico Superior de Guasav
Gestión de la Calidad Total (UNIDAD 2) UAIM
Taller de ética U1 El sentido de aprender sobre etica.pptx
Comunidad Tepeca - Proyecto Final UAIM-Los Mochis
Linea del tiempo de la inteligencia artificial.pptx
Ing. Mecatronica Prog. Básica, U5 Módulos
Ing. Mecatronica Prog. Básica U4 Arreglos y estructuras
Ing. Mecatrónica, Prog. Básica U3 control de flujo
Ing. Mecatrónica, Prog. Básica, U2 intro a la programacion
Ing. Mecatrónica, Prog. Básica U1; Conceptos basicos y algoritmos
Manual de prácticas y antología para POO
Aplicaciones móviles intro.
Plantilla presentación.pptx
Diagrama de Casos de Uso UML
Introducción al Diagrama de Clases UML
Diagrama de clases UML
Diagrama UML Casos de Uso
Tema 3 - Comandos básicos.pdf
Tema 1 - Intro.pdf

Último (20)

PDF
Informe Estudio Final Apagon del 25 de febrero
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
PDF
Durabilidad del concreto en zonas costeras
PPTX
Gestion de seguridad y salud ocupacional.pptx
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PDF
Módulo-de Alcance-proyectos - Definición.pdf
PDF
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
DOC
informacion acerca de la crianza tecnificada de cerdos
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PPTX
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
PPTX
Contexto Normativo NSR10, presentacion 2025
PDF
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
PDF
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
PDF
1132-2018 espectrofotometro uv visible.pdf
PDF
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
PPTX
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
PDF
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
PPTX
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx
Informe Estudio Final Apagon del 25 de febrero
Manual ISO9001_2015_IATF_16949_2016.pptx
Durabilidad del concreto en zonas costeras
Gestion de seguridad y salud ocupacional.pptx
NILS actividad 4 PRESENTACION.pptx pppppp
Módulo-de Alcance-proyectos - Definición.pdf
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
informacion acerca de la crianza tecnificada de cerdos
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
Contexto Normativo NSR10, presentacion 2025
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
MATRIZ IDENTIFICACIÓN EVALUACION CONTROL PRL.pdf
1132-2018 espectrofotometro uv visible.pdf
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
prg2_t01_p01_Fundamentos POO - parte1.pdf
MODULO 1.SEGURIDAD Y SALUD CONCEPTOS GENERALES.pptx
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
Presentación - Taller interpretación iso 9001-Solutions consulting learning.pptx

Programacion orientada a objetos Unidad 1-intro al paradigma poo

  • 1. TECNOLÓGICO NACIONAL DE MÉXICO Instituto Tecnológico Superior de Guasave Ingeniería en Sistemas Computacionales Unidad 1: Introducción al Paradigma de la POO PROGRAMACIÓN ORIENTADA A OBJETOS
  • 2. Unidad 1 PROGRAMACIÓN ORIENTADA A OBJETOS Competencia de la unidad: Comprende y aplica los conceptos del paradigma de programación orientada a objetos para modelar situaciones de la vida real.
  • 3. PROGRAMACIÓN ORIENTADA A OBJETOS ¿Qué es un objeto? • Un objeto es una entidad física o abstracta que tiene un comportamiento antes ciertos estímulos, tanto externos como de otros objetos específicos que se encuentran dentro del sistema.
  • 4. PROGRAMACIÓN ORIENTADA A OBJETOS ¿Qué se puede considerar como objeto? - Persona - Equipo Hardware - Materiales - Información - Software - Procesos - Procedimientos
  • 5. PROGRAMACIÓN ORIENTADA A OBJETOS Objeto Físico: Horno Operaciones asociadas: • Encendido • Apagado
  • 6. PROGRAMACIÓN ORIENTADA A OBJETOS Objeto Abstracto: Cola Operaciones asociadas: • Agregar elemento • Eliminar elemento • Verificar si está vacía • Verificar si está llena • Primer elemento de la cola • Siguiente elemento de la cola
  • 7. PROGRAMACIÓN ORIENTADA A OBJETOS Práctica: Del objeto “Vehículo de Motor” mencione cuales son sus operaciones asociadas e identifique al menos 3 tipos:
  • 8. PROGRAMACIÓN ORIENTADA A OBJETOS Identidad de un objeto • Cada objeto tiene su propia identidad que lo distingue de los demás objetos. En otras palabras, dos objetos distintos no son iguales aunque todos los valores de sus atributos sean idénticos.
  • 9. PROGRAMACIÓN ORIENTADA A OBJETOS • La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar aplicaciones y programas informáticos. • Está basado en varias técnicas incluyendo: • Herencia • Abstracción • Polimorfismo y • Encapsulamiento
  • 10. PROGRAMACIÓN ORIENTADA A OBJETOS Clases y Objetos • Una clase es básicamente un plano para un tipo de datos personalizado. Cuando se define una clase, se utiliza cargándola en la memoria. • Una clase que se ha cargado en la memoria se denomina objeto o instancia.
  • 11. PROGRAMACIÓN ORIENTADA A OBJETOS Las características principales de los objetos son: • Encapsulación: combinación en una sola estructura los datos, procedimientos y funciones que los manipulan para formar un nuevo tipo - el objeto. • Permite que la información de un objeto permanezca oculta para el mundo exterior.
  • 12. PROGRAMACIÓN ORIENTADA A OBJETOS Práctica Del objeto “vehículo de motor” menciona los datos, procedimientos y funciones que lo conforman:
  • 13. PROGRAMACIÓN ORIENTADA A OBJETOS • Herencia: Definición de un objeto y luego uso del mismo para construir una jerarquía de objetos descendientes, con cada descendiente heredando acceso a todo el código y datos del ancestro.
  • 14. PROGRAMACIÓN ORIENTADA A OBJETOS Práctica Del objeto “vehículo de motor” menciona al menos 3 tipos heredados y de cada tipo al menos 2 subtipos heredados:
  • 15. PROGRAMACIÓN ORIENTADA A OBJETOS • Polimorfismo: Dada una acción un nombre que es compartido hacia arriba y abajo en una jerarquía de objetos, con cada objeto en la jerarquía implementando la acción de una manera apropiada a sí mismo.
  • 16. PROGRAMACIÓN ORIENTADA A OBJETOS Práctica De los 3 tipos de vehículos de motor que ya mencionaste describe como realizan sus acciones básicas cada uno, diferenciándolos de los demás tipos:
  • 17. PROGRAMACIÓN ORIENTADA A OBJETOS • Abstracción: Es la encargada desde el punto de vista de la programación orientada a objetos expresa las características esenciales de un objeto, las cuales distinguen al objeto de los demás. Además de distinguir entre los objetos provee límites conceptuales. • Entonces se puede decir que la encapsulación separa las características esenciales de las no esenciales dentro de un objeto.
  • 18. PROGRAMACIÓN ORIENTADA A OBJETOS Aplicando abstracción Objetos polígonos Clase polígono Atributos Vértices Colordelborde Colorde relleno Operaciones Dibujar Borrar Mover
  • 19. PROGRAMACIÓN ORIENTADA A OBJETOS Práctica De los 3 tipos de vehículos de motor que ya mencionaste describe sus componentes que son ocultados al exterior y por lo tanto resultan abstractos:
  • 20. PROGRAMACIÓN ORIENTADA A OBJETOS Tarea 1: • Dibuje una jerarquía de vehículos para pasajeros (bicicleta, motocicleta, automóvil, etc.) • Comience con el diseño de un mapa conceptual de la Programación Orientada a Objetos.
  • 21. PROGRAMACIÓN ORIENTADA A OBJETOS Modelado de Clases y Objetos con UML
  • 22. PROGRAMACIÓN ORIENTADA A OBJETOS • El lenguaje UML (en inglés, Unified Modeling Language) es un lenguaje para la: • Especificación, • Visualización, • Construcción, y • Documentación de las partes de un sistema de software. • Consiste en una colección de las mejores prácticas de ingeniería que mostraron ser exitosas en el modelado de sistemas complejos.
  • 23. PROGRAMACIÓN ORIENTADA A OBJETOS • Fue 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 participación 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.
  • 24. PROGRAMACIÓN ORIENTADA A OBJETOS DIAGRAMA DE CLASES • Las clases son dibujadas con un rectángulo, dividido en tres partes: • El nombre de la clase, • Los atributos, y • Las operaciones correspondientes. • Puede agregarse también una división en donde se especifican las responsabilidades de esa clase.
  • 25. PROGRAMACIÓN ORIENTADA A OBJETOS Representación de una clase
  • 26. PROGRAMACIÓN ORIENTADA A OBJETOS • El nombre de la clase debe ser lo menos ambiguo posible, usualmente un sustantivo. • Atributos: Los atributos describen las características 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.
  • 27. PROGRAMACIÓN ORIENTADA A OBJETOS • La restricción más importante es que los atributos son visibles únicamente por la clase que los contiene. • La sintaxis de declaración es la siguiente: <nombre>:<tipo> < = valor_inicial > • El dato valor_inicial es opcional y permite inicializar los atributos directamente en la declaración.
  • 28. PROGRAMACIÓN ORIENTADA A OBJETOS • Las operaciones son utilizadas para manipular los atributos o realizar consultas. • La sintaxis para describir una operación es la siguiente: <nombre_operación>(<parámetros>):<tipo_resultado>
  • 29. PROGRAMACIÓN ORIENTADA A OBJETOS • A diferencia de los atributos, las operaciones pueden tener diferente visibilidad hacia otras clases, la cual se denota entre llaves a la izquierda de la declaración. • Todas las operaciones están agrupadas de acuerdo a los estereotipos • <<comando>>, • <<consulta>> o • <<constructor>> de acuerdo a su función en la clase.
  • 30. PROGRAMACIÓN ORIENTADA A OBJETOS • Las responsabilidades son las obligaciones de una clase y son definidas por el usuario. • Si bien, existe un compartimiento dentro de la clase para la especificación de las responsabilidades, éstas son de carácter opcional.
  • 31. PROGRAMACIÓN ORIENTADA A OBJETOS • Dependiendo del nivel de detalle que queremos alcanzar en el modelo, se pueden obviar algunas de las divisiones del gráfico de clases. • Esto permite simplificar el diagrama completo, de acuerdo al nivel de abstracción necesario. Puede utilizarse, por ejemplo
  • 33. PROGRAMACIÓN ORIENTADA A OBJETOS Práctica: • Realice representación de clase de una persona con sus atributos básicos y operaciones (al menos 3 de cada uno)
  • 34. PROGRAMACIÓN ORIENTADA A OBJETOS Notas en el diagrama: • A los gráficos de clases se les puede agregar notas o comentarios sobre algún aspecto interesante de la clase. • Estas notas pueden incluir observaciones sobre la clase, alguna restricción de uso, e incluso el pseudo-código de algunas operaciones. • Se grafican por medio de un rectángulo con la esquina superior derecha plegada, como si fuera una hoja, y se une con una línea al elemento de la clase al cual corresponde la nota.
  • 35. PROGRAMACIÓN ORIENTADA A OBJETOS Representación de las Notas
  • 36. PROGRAMACIÓN ORIENTADA A OBJETOS Las relaciones más importantes entre clases que utilizaremos son: • Asociaciones, • Agregaciones, • Dependencia, y • Generalización.
  • 37. PROGRAMACIÓN ORIENTADA A OBJETOS Asociación (Conexión entre clases) • Una asociación es una conexión entre clases. Significa que los objetos de dos clases tendrán un vínculo bidireccional en común, el cual puede interpretarse como “para cada X existe un Y”. • Se representa por medio de una línea continua entre dos clases.
  • 38. PROGRAMACIÓN ORIENTADA A OBJETOS Multiplicidad • Se utiliza multiplicidad cuando no necesariamente los vínculos entre objetos son de uno a uno. • Se especifica en cada extremo del vínculo, a través de un rango, cuántos objetos pueden estar vinculados.
  • 39. PROGRAMACIÓN ORIENTADA A OBJETOS • El diagrama anterior indica que cada programador tendrá varias computadoras (posiblemente ninguna), y que cada computadora será usada por al menos un programador.
  • 40. PROGRAMACIÓN ORIENTADA A OBJETOS Rangos • Algunos ejemplos de rangos son los siguientes: Cuando no se especifica ningún rango, se asume el valor uno (1) por defecto. Puede agregarse una flecha a la línea, indicando la dirección del vínculo:
  • 41. PROGRAMACIÓN ORIENTADA A OBJETOS Agregaciones (Posee/contiene) • Agregación es un caso especial de asociación. Indica que una o más clases (clases componentes) forman parte de otra clase (clase agregada). • Se denota con un rombo en uno de los extremos del vínculo, aquél que corresponde a la clase agregada. • Puede interpretarse como “posee (o contiene) un”.
  • 42. PROGRAMACIÓN ORIENTADA A OBJETOS • En la agregación, 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 más botones.
  • 43. PROGRAMACIÓN ORIENTADA A OBJETOS • Otra posible forma de representar la agregación entre clases es incluir el gráfico de una clase (el agregado) dentro del gráfico de otra. Por ejemplo;
  • 44. PROGRAMACIÓN ORIENTADA A OBJETOS • Si el agregado requiere especificar multiplicidad, escribimos el rango correspondiente en la esquina superior derecha de la clase.
  • 45. PROGRAMACIÓN ORIENTADA A OBJETOS Práctica: Agregaciones (Posee/contiene) • Identifique en un automóvil al menos 3 agregaciones que no sean las ya mencionadas.
  • 46. PROGRAMACIÓN ORIENTADA A OBJETOS Dependencia (relación de uso) • Es una relación de uso entre dos clases (una usa a la otra). Esta relación es la más básica entre clases y comparada con los demás tipos de relación, la mas débil. Representación UML • Se representa con una flecha discontinua que parte desde una clase y apunta a otra. El sentido de la flecha nos indica quien usa a quien.
  • 47. PROGRAMACIÓN ORIENTADA A OBJETOS Práctica: Dependencia (relación de uso) • Identifique en una computadora que relación de dependencia tiene con otros objetos.
  • 48. PROGRAMACIÓN ORIENTADA A OBJETOS Generalizaciones (Herencia/Especificación) • La generalización es la relación entre una clase más general y un clase más específica. • La clase más especifica (denominada subclase) es consistente con la clase más general (denominada superclase), y contiene información adicional. • La generalización permite la especialización de las clases, es decir, en este caso la superclase hereda todas sus características a la subclase.
  • 49. PROGRAMACIÓN ORIENTADA A OBJETOS Generalizaciones Se denota con un triángulo en el extremo del vínculo correspondiente al elemento más general. La relación 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 código utilizado por la empresa. Son heredados de la clase Auto todos los demás atributos, como la patente oficial, el modelo, el motor, etc.
  • 50. PROGRAMACIÓN ORIENTADA A OBJETOS • Cuando una clase posee más de una subclase, pueden organizarse en forma de árbol de la siguiente manera:
  • 51. PROGRAMACIÓN ORIENTADA A OBJETOS Ejemplo de Generalizaciones • Identifique de un objeto avión al menos 3 generalizaciones con sus respectivos atributos.
  • 52. PROGRAMACIÓN ORIENTADA A OBJETOS Ejemplo:
  • 53. PROGRAMACIÓN ORIENTADA A OBJETOS Ejemplo de diagrama de clases:
  • 54. PROGRAMACIÓN ORIENTADA A OBJETOS Evidencia de aprendizaje 1: • Genera la clase vehículo con todos sus atributos, acciones y hereda al menos 3 tipos de vehículos. • A cada objeto heredado genera sus asociaciones, agregaciones, rangos, multiplicidad, generalizaciones, etc. (entre 1 y 3 de cada una). • Entregar trabajo individual con el diagrama completo en papel.
  • 55. PROGRAMACIÓN ORIENTADA A OBJETOS Instituto Tecnológico Superior de Guasave RÚBRICA PARA EVIDENCIAS GRÁFICAS Carrera: Asignatura: Tema: Alumno/equipo: DIMENSIONES O CRITERIOS A EVALUAR % POR CRITERIO % OBTENIDO OBSERVACIONES (anotar razones por las que no se alcanzó el porcentaje más alto) REDACCIÓN Y ORTOGRAFÍA 20% Utiliza las reglas ortográficas básicas. 10 Claridad y continuidad del contenido. 10 FORMATO Y CONTENIDO 80% Utiliza los elementos gráficos vistos en clase 15 Ordena los elementos gráficos de manera visual y entendible 15 Traza las relaciones de los gráficos correctamente 10 Los elementos gráficos son fáciles de interpretar 10 Se identifican claramente la idea principal y las ideas secundarias 15 Se identifican claramente las jerarquías existentes 15 Total de Puntos Obtenidos