Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

PROGRAMACION ORIENTADA A OBJETOS Y TIPO DE DATO

ABSTRACTO

Tipo de Dato Abstracto

Empecemos por decir que la abstracción de datos tiene una complejidad, donde
nosotros tenemos que pensar en una solución a algún problema en particular a través
del desarrollo de software esto dirán suena demasiado complejo pero es algo que
tenemos que enfrentar si queremos dedicarnos a programar.

La idea principal es hacer que las personas crean que es muy fácil efectuar una
actividad, tan sencilla como llevar el control de algún negocio con tan solo un par de
instrucciones, sin que ellos piensen que detrás de ese programa exista una inmensa
complejidad.

Para esto nos adentraremos en un mundo denominado orienta a objetos donde


modelaremos a través de la abstracción un objeto complejo, donde solo tomaremos
sus partes esenciales sin adentrarnos en los detalles.

Ahora para comprender un poco más acerca de lo escrito anteriormente lo haremos


por medio de ejemplos para mayor comprensión.

Estructura de datos

Perro

-raza
-tamaño
-sexo
-color
-edad

+Ladra();
+Camina();
+Come();

a continuación, mostramos que significa cada división de la estructura anterior:


 Nombre de la clase a modelar.
 Colección o grupo de datos esenciales.
 Actividades generales que realiza.

Todo dependerá de nuestra capacidad para poder realizar una abstracción de lo que
nosotros deseamos plantear, para encontrar la mejor solución a lo que necesitamos.

La abstracción nos sirve para plantear diseños de una estructura de algún dato en
particular.
Tipos de datos abstractos

 Un TDA agrupa en una entidad única los datos y procedimientos que lo


manipulan.
 Cada TDA se implementa en un módulo de programa por separado, dejando
visible sólo la interfaz y ocultando los detalles de implementación.
 En la POO los TDA se formalizan y se extienden con nuevas ideas, pasando a
llamarse Objetos.
 En la POO el grado de abstracción es el más alto posible, los objetos
representan conceptos del problema que se intenta resolver: clientes,
productos, etc.

Especificación lógica de un TDA

1. Elementos que conforman una estructura


2. Tipo de organización en que se guardaran los elementos.
3. Dominio de la estructura.
4. Descripción de las operaciones de la estructura.

Niveles de abstracción

 Lógico abstracto. Se define la estructura y operaciones relacionadas con ella.

 Físico. Se define el lenguaje de programación para la implementación.

 Aplicación. El uso del TDA se limita a llamar las operaciones sobre la estructura
que se requiera siempre cumpliendo con las reglas de cada operación.

Desde el punto de vista orientado a objetos los TDA´S se refieren a las clases, por lo
consiguiente una clase define las propiedades de un objeto y un objeto es una
instancia de una clase.

La programación orientada a objetos es la programación con TDA´S combinando su


funcionalidad para resolver diferentes problemas.

 Las instancias u objetos de las TDA´S o clases se crean, se utilizan y se


destruyen.

 Para finalizar acerca de las TDA podemos decir que existen dos partes
fundamentales:

 La especificación que contiene a la sintáctica y la semántica.

 La implementación que conlleva la estructura de datos y los algoritmos.


Programación Orientada a Objetos (POO)

La programación orientada a objetos (POO, u OOP según sus siglas en inglés) es un


paradigma de programación que usa objetos en sus interacciones, para diseñar
aplicaciones y programas informáticos.
La programación orientada a objetos esta basada en:
1. Abstracción
2. Encapsulamiento
3. Jerarquía
4. Clase
5. Objeto
6. Modularidad
7. Herencia
8. Polimorfismo.

Tecnología Orientada a Objetos

Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes


de programación, además se viene aplicando en el análisis y diseño con mucho éxito,
al igual que en las bases de datos. Es que para hacer una buena programación
orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de
ahí la importancia del análisis y el diseño orientado a objetos.

La programación orientada a objetos es una de las formas más populares de


programar y viene teniendo gran acogida en el desarrollo de proyectos de software
desde los últimos años. Esta acogida se debe a sus grandes capacidades y ventajas
frente a las antiguas formas de programar.

Una Perspectiva Histórica

Tradicionalmente, la programación fue hecha en una manera secuencial o lineal, es


decir una serie de pasos consecutivos con estructuras consecutivas y bifurcaciones.
Los lenguajes basados en esta forma de programación ofrecían ventajas al principio,
pero el problema ocurre cuando los sistemas se vuelven complejos. Estos programas
escritos al estilo “espaguetti” no ofrecen flexibilidad y el mantener una gran cantidad
de líneas de código en sólo bloque se vuelve una tarea complicada.
Frente a esta dificultad aparecieron los lenguajes basados en la programación
estructurada. La idea principal de esta forma de programación es separar las partes
complejas del programa en módulos o segmentos que sean ejecutados conforme se
requieran. De esta manera tenemos un diseño modular, compuesto por módulos
independientes que puedan comunicarse entre sí.

¿Cuáles son las ventajas de un lenguaje orientado a objetos?

 Fomenta la reutilización y extensión del código.


 Permite crear sistemas más complejos.
 Relacionar el sistema al mundo real.
 Facilita la creación de programas visuales.
 Construcción de prototipos
 Agiliza el desarrollo de software
 Facilita el trabajo en equipo
 Facilita el mantenimiento del software

El Modelo Orientado a Objetos

Abstracción. Tiene la capacidad de poder reconocer un objeto de una especie aun


cuando no la hemos visto anteriormente. También consiste en separar un elemento de
su contexto, identificando sus características esenciales, las cuales lo distinguen de los
otros.

Encapsulamiento. Es una técnica para ocultar la información al usuario de los objetos


acerca de los detalles y operaciones de los mismos. Este proceso nos maximiza su
reutilización, se reduce la dependencia de datos y se minimiza el tiempo de depuración.

Jerarquía. Un conjunto de abstracciones forman una jerarquía y la identificación de las


jerarquías ayudan a resolver de forma sencilla el problema, de otra manera podemos
decir que es una clasificación de las abstracciones.

Objetos. Un objeto tiene un estado, comportamiento e identidad. Representa una


entidad, que puede ser física, conceptual o de software. Este representa un elemento,
unidad o entidad individual identificable, ya sea real o abstracta. Un objeto es algo
tangible, visible, que puede comprenderse, algo que existe en tiempo y espacio, algo
que no lo es como el tiempo es un atributo, las emociones.

Modularidad. Es la propiedad que permite subdividir 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 sí y de las restantes partes. Estos módulos se pueden
compilar por separado, pero tienen conexiones con otros módulos. Al igual que la
encapsulación, los lenguajes soportan la modularidad de diversas formas.
Herencia. Es una representación jerárquica de abstracciones. La herencia define una
relación entre clases. También podemos decir que es el proceso mediante el cual un
objeto adquiere propiedades de otro.

Polimorfismo. Es la habilidad que adquieren los objetos de responder en forma


diferente al mismo mensaje. Es decir, el mismo mensaje que se envía a muchos tipos
de objetos, toma “muchas formas”, y de ahí viene el término polimorfismo.

Clases. La clase es un modelo o prototipo que define las variables y métodos comunes
a todos los objetos de cierta clase. También se puede decir que una clase es una
plantilla genérica para un conjunto de objetos de similares características.

En el mundo real, normalmente tenemos muchos objetos del mismo tipo. Por ejemplo,
nuestro teléfono celular es sólo uno de los miles que hay en el mundo. Si hablamos en
términos de la programación orientada a objetos, podemos decir que nuestro objeto
celular es una instancia de una clase conocida como "celular". Los celulares tienen
características (marca, modelo, sistema operativo, pantalla, teclado, etc.) y
comportamientos (hacer y recibir llamadas, enviar mensajes multimedia, transmisión
de datos, etc.).

Envió de Mensajes. Un objeto es inútil si está aislado. El medio empleado para que un
objeto interactúe con otro son los mensajes. Hablando en términos un poco más
técnicos, los mensajes son invocaciones a los métodos de los objetos.
Lenguajes de Programación Orientada a Objetos

 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

Análisis y Diseño Orientada a Objetos

UML. Es un lenguaje para visualizar, especificar, construir y documentar los artefactos


de un sistema.

UML esta pensado principalmente para sistemas con gran cantidad de software.
Se usa para entender, diseñar, configurar y controlar la información sobre los sistemas.

La idea es que sea tan sencillo como sea posible, pero manteniendo la capacidad para
modelar cualquier sistema. También trata de ser un estándar mundial.

El UML consta de todos los elementos y diagramas que permiten modelar los sistemas
en base al paradigma orientado a objetos. Los modelos orientados a objetos cuando se
construyen en forma correcta, son fáciles de comunicar, cambiar, expandir, validar y
verificar. Este modelamiento en UML es flexible al cambio y permite crear
componentes plenamente reutilizables.

Bibliografías

 http://www.ciberaula.com/articulo/Programacion_orientada_objetos
 https://www.ecured.cu/Programaci%C3%B3n_Orientada_a_Objetos
 https://vxicali.wordpress.com/2012/12/01/abstraccion-de-datos-poo-y-uml/
(Diciembre 1 del 2012)

También podría gustarte