0% encontró este documento útil (0 votos)
22 vistas13 páginas

Introducción a la Programación Orientada a Objetos

El documento presenta una introducción a la programación orientada a objetos (POO) y describe sus principales características como el uso de clases y objetos. Luego, resume los conceptos básicos de UML como diagramas de clases y relaciones, y explica cómo UML representa visualmente los componentes de un sistema de software orientado a objetos. Finalmente, detalla los conceptos fundamentales de UML como unidades lingüísticas, metamodelado y comportamiento.

Cargado por

Rafael Gonzalez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas13 páginas

Introducción a la Programación Orientada a Objetos

El documento presenta una introducción a la programación orientada a objetos (POO) y describe sus principales características como el uso de clases y objetos. Luego, resume los conceptos básicos de UML como diagramas de clases y relaciones, y explica cómo UML representa visualmente los componentes de un sistema de software orientado a objetos. Finalmente, detalla los conceptos fundamentales de UML como unidades lingüísticas, metamodelado y comportamiento.

Cargado por

Rafael Gonzalez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Educación Superior

Fundación “Misión Sucre”

Programa Nacional de Formación de Educadores

Aldea Universitaria “Mireya Vanegas”

Trayecto: Informática 2-1

Caracas-Caricuao UD-3

TRABAJO DE
PROGRAMACION II
UNIDAD 1-2-3-4

Profesor: Alumno:

Rodolfo Caccamo Rafael González

Sonnelys Querales

Norys Blanco

Jesús Mora

Caracas, 22/09/2023
INTRODUCCIÓN

La POO o programación orientada a objetos es un tipo de paradigma de programación el


cual se basa en tomar y reutilizar líneas de código, dicho paradigma se creó con la intención
de facilitar el proceso de comprensión del lenguaje y lectura del código de una forma
organizada, como todo tiene sus propias normas o pautas las cuales se deben respetar. La
programación orientada a objetos trata de amoldarse al modo de pensar del hombre y no al
de la máquina. Esto es posible gracias a la forma racional con la que se manejan las
abstracciones que representan las entidades del dominio del problema, y a propiedades
como la jerarquía o el encapsulamiento.

Programación orientada a objetos POO


La programación orientada a objetos es un paradigma de programación, es decir, un
modelo o estilo de programación que no da una guía sobre cómo trabajar con él. Se basa en
el concepto de clases y objetos. Este tipo de programación se utiliza para estructurar un
programa de software en piezas simples y reutilizables de planos de código, clases para
crear instancias individuales de objetos.
A lo largo de la historia, han ido apareciendo diferentes paradigmas de programación.
Lenguajes secuenciales como COBOL o procedimentales como Basic o C, se centraban
más en la lógica que en los datos. Otros más modernos como Java, C# y Python, utilizan
paradigmas para definir los programas, siendo la Programación Orientada a Objetos la más
popular.
Lo que buscamos es dejar de centrarnos en la lógica pura de los programas. Para
comenzar a pensar en los objetos, lo que constituye la base de este paradigma. Esto nos
ayuda muchísimo en sistemas grandes, ya que, en vez de pensar en funciones, pensamos en
las relaciones o interacciones de los diferentes componentes del sistema.
Un programador diseña un programa de software organizado piezas de información y
comportamientos relacionados en una plantilla llamada clase. Luego, se crean los objetos
individuales a partir de la plantilla de clase. Todo el programa de software se ejecuta
haciendo que varios objetos interactúen entre sí para crear un programa más grande.

Técnicas y Herramientas para la representación de la POO en UML (diagrama de


clase y sus relaciones.

El lenguaje de modelado unificado es un estándar para la representación visual de


objetos, estados y procesos dentro de un sistema. Por un lado, el lenguaje de modelado
puede servir de modelo para un proyecto y garantizar así una arquitectura de información
estructurada; por el otro, ayuda a los desarrolladores a presentar la descripción del sistema
de una manera que sea comprensible para quienes están fuera del campo, UML se utiliza
principalmente en el desarrollo de software orientado a objetos. Al ampliar el estándar en la
versión 2.0 también es adecuado para visualizar procesos empresariales.

Desarrollo del lenguaje Unificado de Modelado.

Antes de que UML se introdujera en el desarrollo de software, el campo de la


programación orientada a objetos OPP había crecido. Este estilo de programación se basa
en el concepto de que todo es un objeto: los bloques de construcción de un programa son
objetos que interactúan entre sí, los mensajes que se envían de un lado a otro entre los
componentes también constan de objetos. Cada objeto individual es un ejemplo de su clase
superior. La clase misma también actúa como un objeto y también determina el
comportamiento de las instancias de objetos que contiene. Los objetos consisten en datos y
código. El objeto organiza los datos en campos, también llamados atributos. El código
determina su procedimiento o método.

UML Conceptos Básicos


Los diagramas UML se utilizan para representar los siguientes componentes del sistema:
 Objetos individuales
 Clases
 Relaciones entre objetos
 Actividad
 Interacciones entre objetos e interfaces

Metamodelismo
UML 2.0 define unidades de lenguaje que operan en diferentes niveles. Se utilizan para
expresar la estructura y el comportamiento de un sistema. Algunos elementos utilizan el
lenguaje de modelado para definirse. La metamodelacion incluye todos los elementos de
UML, incluyendo aquellos que describen el propio UML. Para ello utiliza cuatro niveles
dispuestos jerárquicamente (M0 a M3).
El nivel meta-meta M3 especifica los metadatos del lenguaje de modelado y sus
relaciones usando la Meta Object Facility (MOF). Define el metamodelo. También le
permite transferir metadatos. El formato XMI definido por el OMG es una herramienta para
compartir datos orientados a objetos a nivel meta-meta entre herramientas de desarrollo. El
Object Constraint Language (OCL), un lenguaje de programación declarativo,
complementa el UML y regula las condiciones de contorno de los respectivos modelos.
Como lenguaje de texto. Sin embargo, solo tiene un efecto de apoyo, en lugar de estar
disponible para el modelado en sí mismo.

El grafico superior muestra el metamodelo de UML 2.0. el nivel de M0 es el nivel básico.


Representa objetos reales y concretos y registros de datos individuales, por ejemplo, un
objeto o un componente. El nivel M1 comprende todos los modelos que describen y
estructuran los datos del nivel M0. Estos son diagramas UML como el Diagrama de
Actividad o el Diagrama de Paquete (explicado a continuación). Para definir la estructura
de estos modelos, los metamodelos de nivel M2 definen las especificaciones y la semántica
de los elementos del modelo.
Si deseas crear un diagrama UML comprensible, necesitas conocer el metamodelo UML y
sus reglas. El nivel más alto, M3 es un metamodelo de metamodelo. El mencionado Meta
Object Facility trabaja a un nivel abstracto que define los metamodelos. Este nivel se define
a sí mismo, porque de lo contrario surgirán metanivel más altos.
Unidades Lingüísticas

UML (Nivel M2) define las reglas de su propia semántica. Las unidades de lenguaje son
términos definidos en la superestructura UML 2.0. Esto permite una representación formal
que todos los participantes pueden entender. Las unidades lingüísticas, en inglés language
units, abstraen objetos y procesos de estructura y funcionamiento similares y les dan una
forma visualmente representable. Según el nivel jerárquico dentro del modelo, los
elementos asumen tareas más especializadas o definen más estrechamente otros elementos.

Clase: como unidad lingüística, las clases son un aspecto central de UML. Definen lo
que constituye una clase y como las clases interactúan entre sí. Esta language unit tiene
cuatro niveles, que van desde elementos simples hasta relaciones más complejas:
 Núcleo (describe elementos de la infraestructura UML 2.0 como paquetes, espacios de
nombres, atributos, etc.)
 AssociationClasses (define clases de asociación)
 Interfases (define las interfaces)
 Powertypes (clase cuyas instancias son subclases dentro de esta clase)

Componente: los componentes son elementos que separan su contenido del sistema
externo. Solo existe una conexión con el exterior a través con otro componente a través de
la interfaz. El conector de delegación une los elementos interiores con una interfaz en el
borde exterior. Los componentes son modulares e intercambiables.

Estructura de la composición: la estructura de la composición de la unidad de lenguaje


describe los elementos, que están blindados como componentes hacia dentro y hacia fuera.
Solo los puertos conectan el contenido con el sistema externo. Los llamados clasificadores
encapsulados que consisten en elementos llamados partes. Las piezas se comunican a través
de conectores.
Perfil: un perfil configura UML 2.0 para necesidades específicas. Los términos
abstractos como actividad u objeto deben ser especificados para para algunos proyectos con
el fin de aumentar la comprensión. La semántica y las notaciones que están clocadas en un
lugar suelto se pueden adaptar con un perfil.

Modelo: Cuando se trata de representar el comportamiento. Las acciones son de


importancia central. Los valores se aceptan a través de los pines de entrada y se envían a los
pines de salida. Estos son los grupos temáticos que UML define para las acciones:

 Manipular objetos
 Manipular relaciones de objetos
 Manipular características estructurales
 Acciones de llamada
 Generar valores
 Acciones sobre objetos
 Recibir eventos
Comportamiento: la unidad de lenguaje comportamiento se refiere a la modelización de
aspectos dinámicos dentro de un sistema. Consta de tres especificaciones.
 Actividad: las acciones interactúan a través flujos de datos y control. Estos resultan en un
sistema complejo de comportamiento, actividades.
 Interacción: este metamodelo describe como se intercambian los flujos de mensajes entre
objetos, cuando se envía un mensaje a que objeto y que otros elementos se ven afectados
por el.
 Estado de las maquinas: es un diagrama de estado, este modelo de metamodelo muestra
tantos estados (situaciones con propiedades de valor) y sus transiciones. Los objetos de un
estado pueden asignarse a acciones o actividades.

Distribución: una red está formada por objetos que están conectados entre si en mallas.
Se da un caso especial de uso si estos elementos representan software ejecutable o
artefactos. Estos artefactos se ejecutan en un entorno de ejecución o dispositivos
clasificados como nodos por UML 2.0 por lo tanto, el artefacto depende del nodo. La
distribución representa esta relación de dependencia que surge durante la instalación.

Aplicación: en el caso de uso (como unidad de idioma) representa los requisitos del
sistema. El actor (una persona o un sistema) es un elemento que describe quien o que debe
realizar una actividad concreta utilizando el sistema. El sistema también puede ser una clase
o un componente y, por lo tanto, se describe como un tema. El caso de uso (como elemento
modelo) simplemente indica que se espera un comportamiento que sea visible para el
mundo exterior, pero no suele representar acciones concretamente. Dentro de una
descripción de compartimiento, el modelo asigna los requisitos detallados al caso de uso.
Flujos de información: esta unidad de lenguaje UML describe los elementos unidad de
información y flujo de información. Estos elementos del modelo son técnicas abstractas de
descripción del comportamiento que pueden estar muy orientadas al detalle, como
actividades o interacciones. Esta representación simplificada permite el uso universal de
estos elementos de modelado en todos los tipos de diagramas UML. Por tanto, a diferencia
de la clase, la unidad de información nunca se describe con más detalle por atributos ni se
incluye en los métodos. Por tanto, el flujo de información también conecta todos los
elementos posibles que intercambian cualquier tipo de información entre sí.

Lenguaje de Programación Orientado a Objetos

Los lenguajes de programación orientados a objetos no es más que implementar


conceptos basados en la programación orientada a objetos (POO) de tal manera que, en la
actualidad, se han desarrollado variedades de programas que se ejecutan en conjunto con
este lenguaje de programación. Entre ellos destacan:
> Python
>C++
>Java
>COBOL
>PHP, entre otros.
Para desarrollar programas, es recomendable saber muy bien tanto la teoría como la
práctica, para ello se reflejará el siguiente escrito:
Lenguajes orientados a objeto:

 C++
 Objective C
 Java
 Smalltalk
 Eiffel
 Lexico (en castellano)
 Ruby
 Python
 OCAML
 Object Pascal
 CLIPS
 Visual .net
 Java
 Actionscript
 COBOL
 Perl
 C#
 Visual Basic.NET
 PHP"

CARACTERÍSTICAS DE LA PROGRAMACIÓN ORIENTADA A OBJETOS


(POO):

Es un paradigma de lenguaje de programación.


Emplea el concepto de objetos en sus interacciones con el fin de desarrollar programas
informáticos.
Emplea técnicas de programación como: herencia, cohesión, abstracción, polimorfismo,
acoplamiento y encapsulamiento.
Los programadores que emplean POO, definen primero los objetos para luego enviarles
mensajes solicitándoles que realicen sus métodos por sí mismos.

FUNDAMENTOS LA POO

Es una técnica para desarrollar soluciones computacionales utilizando componentes de


software (objetos de software).
Objeto: Componente o código de software que contiene en sí mismo tanto sus
características (campos) como sus comportamientos.
(Métodos); se accede a través de su interfaz o signatura. Campo: Es una característica de un
objeto, que ayuda a definir su estructura y permite diferenciarlo de otros objetos.

Método: Es la implementación de un algoritmo que representa una operación o función


que un objeto realiza. El conjunto de los métodos de un objeto determina el
comportamiento del objeto.

Objetos: Un objeto es una cosa tangible, algo a que se puede aprehender


intelectualmente o algo hacia lo que se puede dirigir una acción o pensamiento.
Un objeto tiene:
1. Estado
2. Comportamiento
3. Identidad

Clases: Una clase es un conjunto de objetos que comparten una estructura y


comportamiento comunes.
Clase representa una abstracción, la esencia que comparten los objetos.
Un objeto es un ejemplo de una clase.
Un objeto no es una clase, y una clase no es un objeto
Las clases actúan como intermediarias entre una abstracción y los clientes que pretenden
utilizar la abstracción.

Constructor: Un método constructor de una clase es un método especial que:


tiene el mismo nombre que la clase y no tiene tipo de retorno e inicializa el estado de un
objeto.

Destructor: En contraposición al constructor, el destructor elimina el vínculo y libera el


espacio de memoria de un objeto, para que pueda ser ocupado nuevamente.

Herencia

La herencia es un mecanismo que permite la definición de una clase a partir de la


definición de otra ya existente. La herencia permite compartir automáticamente métodos y
datos entre clases, subclases y objetos.
La herencia está fuertemente ligada a la reutilización del código en la OOP. Esto es, el
código de cualquiera de las clases puede ser utilizado sin más que crear una clase derivada
de ella, o bien una Subclase.
Hay dos tipos de herencia: Herencia Simple y Herencia Múltiple. La primera indica que se
pueden definir nuevas clases solamente a partir de una clase inicial mientras que la segunda
indica que se pueden definir nuevas clases a partir de dos o más clases iniciales.

Superclase y Subclases: El concepto de herencia conduce a una estructura jerárquica de


clases o estructura de árbol, lo cual significa que en la OOP todas las relaciones entre clases
deben ajustarse a dicha estructura.

En esta estructura jerárquica, cada clase tiene sólo una clase padre. La clase padre de
cualquier clase es conocida como su superclase. La clase hija de una superclase es llamada
una subclase.

* Una superclase puede tener cualquier número de subclases.

* Una subclase puede tener sólo una superclase.


 A es la superclase de B, C y D.
 D es la superclase de E.
 B, C y D son subclases de A.
 E es una subclase de D.

Polimorfismo

Otro concepto de la OOP es el polimorfismo. Un objeto solamente tiene una forma (la
que se le asigna cuando se construye ese objeto) pero la referencia a objeto
es polimórfica porque puede referirse a objetos de diferentes clases (es decir, la referencia
toma múltiples formas). Para que esto sea posible debe haber una relación de herencia entre
esas clases. Por ejemplo, considerando la figura anterior de herencia se tiene que:
 Una referencia a un objeto de la clase B también puede ser una referencia a un objeto de la
clase A.
 Una referencia a un objeto de la clase C también puede ser una referencia a un objeto de la
clase A.
 Una referencia a un objeto de la clase D también puede ser una referencia a un objeto de la
clase A.
 Una referencia a un objeto de la clase E también puede ser una referencia a un objeto de la
clase D.
 Una referencia a un objeto de la clase E también puede ser una referencia a un objeto de la
clase A.
CONCLUSIÓN

Para mantener un orden y un código legible para otros programadores, incluso cuando
se está trabajando en equipo, es necesario seguir algún patrón o estilo de trabajo que todos
puedan compartir o comprender de manera correcta y organizada, aquí es donde nacen los
paradigmas de programación, en este caso la programación orientada a objetos, nos facilita
la comprensión del código y al mismo tiempo nos permite reutilizar el código o heredarlo
para otros objetos que podemos ir creando a lo largo de nuestros programas.
ANEXO
BIBLIOGRAFIA

 http://profesores.fi-b.unam.mx/carlos/java/java_basico3_4.html
 https://programacion2pnfiutd.foroactivo.com/t5-iniciar-foro
 https://www.ionos.es/digitalguide/paginas-web/desarrollo-web/las-mejores-
herramientas-uml/
 https://www.buenastareas.com/materias/tecnicas-y-herramientas-para-la-
representacion-de-la-poo-en-uml/0
 https://es.slideshare.net/100000908200707/programacin-orientada-48816367

También podría gustarte