Universidad Privada Del Valle.docx

  • Uploaded by: Sergio Lazarte Mercado
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Universidad Privada Del Valle.docx as PDF for free.

More details

  • Words: 3,018
  • Pages: 16
UNIVERSIDAD PRIVADA DEL VALLE FACULTAD DE TECNOLOGÍA

PROGRAMACIÓN ORIENTADA A OBJETOS

ESTUDIANTE: Sergio Weimar Lazarte Mercado

DOCENTE: Lic. M. Sc. Benjamín H. Buitrago Conde

CARRERA: Ingeniería en Petróleo Gas y Energías

MATERIA: Computación

FECHA DE ELABORACIÓN: 03/12/2014

COCHABAMBA - BOLIVIA 2014

Página |2

ÍNDICE GENERAL INTRODUCCIÓN

3

OBJETIVO

4

1. CAPITULO l (Programación Orientada A Objetos) 1.1. PARADIGMAS DE PROGRAMACIÓN 1.2. EVOLUCIÓN DE LOS LENGUAJES IMPERATIVOS 1.3. PROGRAMACIÓN ORIENTADA A OBJETOS 1.4. LENGUAJE ORIENTADA A OBJETOS 1.5. LENGUAJE JAVA

5

2. CAPITULO ll (Elementos Básicos De La Programación Orientación A Objetos) 2.1. CLASES 2.2. OBJETOS 2.3. META CLASES 3. CAPITULO lll (Propiedades Básicas De La Programación Orientación A Objetos) 3.1. ABSTRACCIÓN 3.2. ENCAPSULAMIENTO 3.3. MODULARIDAD 3.4. JERARQUÍA 3.5. POLIMORFISMO 3.6. TIPIFICACIÓN 3.7. LIGADURA DINÁMICA 4. CAPITULO lV (Modelado Visual De Objetos UML) 4.1. ELEMENTOS BÁSICOS DE UML 4.2. DISEÑO ESTÁTICO: DIAGRAMA DE CLASES 4.3. DISEÑO DINÁMICO: DIAGRAMA DE SECUENCIA

5 6 6 7 7 8 8 8 8 10 10 10 10 10 11 11 12 13 13 13 14

CONCLUCIONES

15

BIBLIOGRAFIA

16

INTRODUCCIÓN

Página |3

En este breve proyecto aspiramos a dar una aclaración de lo que es la Programación Orientada a Objetos (POO). Al mismo tiempo aclarar la diferenciación existente entre Programación Orientada a Objetos y lo que es un Lenguaje Orientado a Objetos. La Programación Orientada a Objetos es un paradigma de programación que usa los objetos en sus interacciones, para diseñar aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su uso se popularizó a principios de la década de los años 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos. En cambio un Lenguaje Orientado a Objetos tiene que presentar tres características básicas, la primera deberá estar basada en objetos, la segunda deberá estar basado en clases y la tercera ser capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de estos puntos. La barrera más difícil de sortear es usualmente la herencia. [1] A lo largo de este proyecto observaremos los temas que conforman la POO, y desarrollo de estos a su vez desempeñaremos las perspectivas de diversos fragmentos de la sociedad actual. Para entender un poco más de lo que es trata la POO y así de esa forma aclarar algunas dudas que exista en dicho proyecto.

OBJETIVOS

Página |4



Conocer a profundidad de lo que trata la programación orientada a objetos.



Saber los tipos de programación orientada a objetos.



Identificar los elementos básicos de programación orientada a objetos.



Conocer las propiedades de la programación orientada a objetos

CAPITULO 1 (Programación Orientada a objetos) 1.1.

Paradigmas de Programación:

Página |5

Un paradigma de programación es un conjunto de conceptos tecnológicos de programadores los cuales modelan soluciones a uno o varios problemas, el cual debe tener un avance significativo en base a un parámetro que afecte a la ingeniería de software. El paradigma de programación que actualmente es el más usado es la orientación a objetos. El núcleo central de este paradigma es la unión de datos y procesamiento en una entidad llamada "objeto", relacionable a su vez con otras entidades "objeto". Tradicionalmente datos y procesamiento se han separado en áreas diferente del diseño y la implementación de software. Esto provocó que grandes desarrollos tuvieran problemas de fiabilidad, mantenimiento, adaptación a los cambios y escalabilidad. Con la orientación a objetos y características como el encapsulado, polimorfismo o la herencia se permitió un avance significativo en el desarrollo de software a cualquier escala de producción. [2] 1.1.1. Tipos de Paradigmas de Programación LA PROGRAMACIÓN IMPERATIVA, es lo contrario a una programación declarativa, es decir, que la programación imperativa describe paso a paso un conjunto de instrucciones que deben ejecutarse cuidadosamente para perturbar el programa y así hallar la solución o lo que conocemos como un algoritmo un conjunto de pasos que te puntualizan paso a paso la solución a un problema. LA PROGRAMACIÓN FUNCIONAL, está basada en la utilización de funciones aritméticas que no operan datos cambiables. “En los años 1930 se desarrolló un sistema para investigar la definición de función, en el cual vieron que la programación funcional tiene raíces en el cálculo lambda”. [3] LA PROGRAMACIÓN LÓGICA, se basa en torno al concepto de predicado, o en la relación entre elementos. La programación lógica descubre su hábitat natural en estudios de inteligencia artificial. LA PROGRAMACIÓN DECLARATIVA, es lo contrario a la programación imperativa ya que esta programación se basa específicamente en desarrollar programas en los cuales debe declarar condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que representen el problema y definan la solución. Las soluciones son obtenidas por mecanismos internos de control los cuales te lo muestra la computadora indicándole lo que deseas obtener.

Existen varios tipos de lenguajes declarativos: 

Los lenguajes lógicos, como Prolog.

Página |6



Los lenguajes algebraicos, como Maude y SQL



Los lenguajes funcionales, como Haskell

LA PROGRAMACIÓN ORIENTADA A OBJETOS O POO, usa objetos en sus interacciones para diseñar estudios y programas informáticos, los cuales están basados en técnicas como Herencia, Cohesión, Abstracción, Polimorfismos, Acoplamiento y Encapsulamiento. UN LENGUAJE DE PROGRAMACIÓN MULTIPARADIGMA, este tipo de programación es por el cual podemos realizar programas usando más de un cualidad de programación. El cual permite a un programador hacer un trabajo con el mejor paradigma de programación. 1.2.

Evolución De Los Lenguajes Imperativos:

La evolución de los lenguajes imperativos es un conjunto de procedimientos que van desde un programa no estructurado a una programación procedimental, en el cual después de ser procesado va a ser una programación estructurada o sea llegaría a ser un estructura básica de diseño, después de soportar un encapsulamiento en módulos pasa a ser una programación modular el cual luego de realizar procedimientos de instanciación llega a ser un tipo abstractos de datos y finalmente aplicando las técnicas de Herencia, Cohesión, Abstracción, Polimorfismos, Acoplamiento y Encapsulamiento, es decir, que van evolucionando cada vez hasta ser un programa orientada a objetos. 1.3.

PROGRAMACION ORIENTADA A OBJETOS:

La programación orientada a objetos es un paradigma de programación que enseña un método o interacciones de objetos para resolver problemas. 1.3.1. ESTRUCTURA DE LA POO, 1.) RELACIONES son los que permiten que el objeto se implante en una organización y está formada por sobresalientes a otros objetos. 2.) PROPIEDADES es el que distingue un objeto determinado de los otros pertenecientes a una misma organización los cuales poseen valores dependiendo el tipo de propiedad. 3.) METODOS son operaciones que pueden realizarse sobre un objeto el cual es capaz de ejecutarse e disponerse a sus descendientes a través de la herencia. 4.)

Página |7

Las ventajas de una programación orientada a objetos son: 1.) REUTILIZACION, son los programas bien diseñados que pueden ser reutilizados como base para otro sistema. 2.) MODULARIDAD, son objetos auto contenidos que están definidos por interfaces a otros objetos pero de una forma clara. 3.) COMPRENSION, son los cuales estas encapsulados en una misma sección y se pueden desarrollar independientemente. 4.) EXTENSIBILIDAD, la técnica de herencia nos permite definir y utilizar módulos funcionalmente incompletos para luego realizar su extensión sin transformar la operación. 5.) ESCALABILIDAD, al ser extensibles permite que el esfuerzo no aumente exponencialmente el tamaño y su complejidad del proyecto. 6.) NATURALIDAD, son los que están más acorde con la realidad que con una descomposición funcional. 1.4.

LENGUAJE ORIENTADA A OBJETOS:

Los lenguajes orientados a objetos se clasifican de esta manera: 1.) LENGUAJE BASADO EN OBJETOS, es el que posee una sintaxis y una semántica los cuales soportan la creación de objetos que no implementan las características principales de una POO. 2.) LENGUAJE ORIENTADO A OBJETOS, es el que al igual que el lenguaje basado a objetos soportar objetos e incluyen características básicas de la POO. 3.) LENGUAJES PUROS, este lenguaje únicamente utiliza el paradigma orientada objetos en el que migra a lenguajes puros como métodos, objetos y clases a pesar de que son complicados pero son los que tienden a ser muy claros porque siguen un solo paradigma de programación. 4.) LENGUAJES HIBRIDOS, es el que comparte todos los tipos de paradigmas de programación lo cual provoca una confusión en desarrollo del código producido por la mezcla de paradigmas. 1.5.

LENGUAJE JAVA:

Página |8

El lenguaje java es un lenguaje que está creado por un propósito concurrente, orientado a objetos y basado en clases para tener las más mínimas dependencias de implementación como fuera posible. Pero en cuanto a la POO el lenguaje java propone diseñar un software de manera que al usar distintos tipos de datos estos se unan a sus operaciones y así se puedan combinar y forma los llamados objetos. Pero a la misma vez utilizar las ventajas de la programación orienta a objetos. CAPITULO 2 (Elementos Básicos De La Programación Orientación A Objetos) 2.1.

CLASES:

La relación existente entre clase a objeto es que una clase es una declaración de un tipo de objeto, es decir, que una clase utiliza plantillas para describir como se construyen un tipo de objeto. 2.1.1. CLASES DECLARACION, este tipo de clase lleva tres modificadores - PLUBIC, este permite que la clase sea accesible desde otro paquete. - ABSTRACT, define las clases que no puedan instanciarse. - FINAL, define las clases que no puedan extenderse como subclases.[4] 2.2. OBJETOS: El objeto es una entidad que es capaz de almacenar información el cual posee un conjunto de operaciones para examinar su estado, es decir, son instancias de las clases. Para poder crear un objeto primero debemos especificar la clase a partir de la cual deseamos crearla el hacer este procedimiento es el que se conoce como instanciar. 2.3.

META CLASES:

La meta clase es la instancia de una clase, es decir, una clase será la instancia de una meta clase, pero se lo conoce como la clase de un clase. En cuanto a la existencia de una meta clase en un lenguaje de orientación a objetos solo existe objetos y mensajes, lo cual nos dice que no debería existir una clase y mucho menos la meta clase. La meta clase se clasifica en:

Página |9

-

-

-

-

SISTEMAS DE UN NIVEL, en este nivel solo existe un tipo de elemento en el sistema, es decir, solo los objetos pero no existen ni la meta clase. Por lo cual los objetos deben ser obtenidos de la derivación de los ya existentes. SISTEMA DE DOS NIVELES, en este nivel existe dos elementos en el sistema los elementos y las clases, es decir, los objetos son las instancias de las clases, y no existen la meta clase. SISTEMA DE TRES NIVELES, en este sistema todos los objetos serán las instancias de las clases y todas las instancias serian meta clases, pero existen dos tipos de elementos los objetos y clases. SISTEMAS DE CINCO NIVELES, en este nivel esta los objetos, clases, clases de clases, meta clases y clases de meta clases todas son parte del sistema.

P á g i n a | 10

CAPITULO 3 (Propiedades Básicas De La Programación Orientación A Objetos) 3.1.

ABSTRACCIÓN:

La abstracción es la representación de caracteres elementales de una cosa sin contener antecedentes. Una de las características de la abstracción es que es un método que puede enfrentar la complicación inseparable de software y que gracias a la orientación a objetos impulsa a que la abstracción pueda simplificar los datos y los procedimientos para describir el problema. Pero la característica principal de la abstracción es la clase la cual es la descripción de un grupo de objetos donde cada uno difiere por su estado para realizar operaciones. 3.2.

ENCAPSULAMIENTO:

El encapsulamiento es un centro de almacenamiento que contiene a los elementos de abstracciones que está compuesto por una estructura y un comportamiento. Las características del encapsulamiento es que el encapsulamiento y abstracción son complementarios, es decir, que una abstracción se enfatiza en el comportamiento de un objeto y el encapsulamiento es el que da lugar a ese comportamiento. 3.3.

MODULARIDAD:

La modularidad se compone por dos partes la modularidad de cohesivos y débilmente acoplados. En el cual la modularidad de cohesivos es el que guarda las abstracciones que poseen una relación lógica y la modularidad débilmente acoplados es que disminuye la dependencia de los módulos.

P á g i n a | 11

Al realizar estos procedimientos provoca que la complejidad del programa se reduzca el cual permite que se cree fronteras definidas para aumentar la comprensión del mismo. 3.4.

JERARQUIA:

La jerarquía es una clasificación de las abstracciones y esta propiedad de la POO se divide en: -

3.5.

HERENCIA, es la que define la relación entre clases en la que la clase debe compartir la estructura de comportamiento en una o más clases. - SUBCLASES Y SUPER CLASES, la súper clases es la representación de los aspectos comunes de las subclases, y la subclase es la representación de conceptos especializados. - CONTRUCTORES, estas no se heredan, son preferencias de la clase a la que se definen. - HERENCIA SIMPLE VS MULTIPLE, la herencia simple es la que tiene un ancestro como máximo en cada clase y la herencia múltiple es la puede heredar varias clases simultáneamente. POLIMORFISMO:

El polimorfismo es la capacidad de poder tener más de un tipo y una función aplicada sobre un parámetro de distintos tipos. Los tipos polimorfismo son: -

3.6.

POLIMORFISMO UNIVERSAL, es el que puede tener valores que pertenezcas a distintos tipos y se utilice el mismo código para tratar esos distintos tipos. - POLIMORFISMO AD HOC, es en el cual se deben utilizar diferentes códigos para tratar los diferentes tipos. - POLIMORFISMO DE INCLUSION, es propio de la POO y el que se consigue a través de la herencia y el que nos indica que un objeto de subclase debería utilizarse para aquellos lugares que necesiten un objeto de súper clase. - POLIMORFISMO PARAMETRICO, es en la que una función puede ser aplicada en distintos tipos, es conocido como paramétrico porque las funciones tienen un parámetro para saber qué tipo debe utilizarlo. TIPIFICACION:

P á g i n a | 12

La tipificación es un tipo de caracterización preciso de propiedades estructurales y de comportamiento compartido por entidades. La tipificación posee tres comprobaciones de tipos: -

-

3.7.

TIPADO ESTATICO, es el que permite detectar incongruencias en tiempo de compilación pero pueden ser muy restrictivo. -TIPADO ESTRICTO O FUERTE, en el cual toda expresión de tipos deben ser consistentes en un tiempo de compilación, y en el que el compilador debe garantizarnos que no exista errores de tipos. -TIPADO DINAMICO, en este tipado toda comprobación de tipo se realiza en tiempo de ejecución y para que no exista errores en la ejecución se debe desarrollar sistemas que los manejen, como la utilización de excepciones. LIGADURA DINAMICA:

La ligadura dinámica está encargada de relacionar a un mensaje o método con un cuerpo de ejecución final. Existen dos tipos de ligadura dinámica: -

-

LIGADURA ESTATICA, es la realización de una ligadura en tiempo de compilación de acuerdo a la declaración del objeto al que se manda el mensaje. LIGADURA DINAMICA, es la realización de una ligadura en un tiempo de ejecución de manera que la forma dinámica sea determinada por la versión del método de ejecución.

P á g i n a | 13

CAPITULO 4 (Modelado Visual De Objetos UML) 4.1. ELEMENTOS BÁSICOS DEL UML: Los elementos básicos del UML se divide en: -

BLOQUES DE CONSTRUCCION, está compuesto por: -ELEMENTOS, los cuales se dividen en: 1.) ELEMENTOS ESTRUCTURALES, son partes estáticas del modelo que representan aspectos materiales. 2.) ELEMNTOS DE COMPORTAMIENTO, son las partes dinámicas de los modelos UML. 3.) ELEMENTOS DE AGRUPACION, son las partes organizativas de los modelos UML. 4.) ELEMENTOS DE ANOTACION, son las partes explicativas de los modelos UML. - RELACIONES, es el encargado de conectar los elementos entre sí. -DIAGRAMAS, son realizados para visualizar un sistema desde diferentes perspectivas.

- MECANISMOS COMUNES, se dividen en: - ESPECIFICACIONES, cada elemento grafico posee una especificación que proporciona una explicación textual de la sintaxis y la semántica. - ADORNOS, todo elemento de notación UML comienza Con símbolos los cuales pueden ser añadidos con variedad de adornos específicos. - DIVISIONES COMUNES, UML presenta casi todos los bloques de construcción una dicotomía entre el tipo de bloque y una instancia de dicho bloque. 4.2. DISEÑO ESTÁTICO: DIAGRAMA DE CLASES: -

INGENIERIA DIRECTA, es la que transforma un modelo UML a su código correspondiente de lenguaje de programación. INGENIERIA INDIRECTA, es la transformación de un código en un lenguaje de programación a su correspondiente modelo de UML.

P á g i n a | 14

-

-

REPRESENTACION DE CLASES, clase es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, relaciones y semántica, y una representación es la representación de un triángulo que se divide en nombre, atributos y métodos. RELACION DE DEPENDENCIA, es el que relaciona la semántica entre dos elementos en la cual un elemento independiente puede afectar a un elemento dependiente semántico.

4.3. DISEÑO DINAMICO: DIAGRAMAS DE SECUENCIA: Los diagramas de secuencia nos muestran claramente la secuencia temporal de los mensajes también nos permiten detallar la interacción. Un inconveniente es que a mediada se añadan nuevos objetos la gráfica crecerá horizontalmente por lo que no está diseñado para ocupar mucho espacio. Los diagramas de comunicación son los que ocupan menos espacio ya que los nuevos objetos no tienen porque añadirse a la derecha de los ya existentes. Un inconveniente es que resulta complicado seguir la secuencia temporal de mensajes y existen menos opciones para detallar la interacción.

P á g i n a | 15

CONCLUSIONES

 En conclusión la programación orientada a objetos es un paradigma de programación con el cual podemos realizar soluciones a todo tipo de problemas.  La mayoría de los informáticos o cómputos son los que generalmente buscan soluciones a problemas para que afecte a la ingeniería de software.

P á g i n a | 16

BIBLIOGRAFIA:  Bibliografía en Internet -

-

[1] http://es.wikipedia.org/wiki/Paradigma_de_programación [2] http://es.wikipedia.org/wiki/Programación_orientada_a_objetos [3] http://es.wikipedia.org/wiki/Programación_funcional [4] Eduardo Mosqueira http://quegrande.org/apuntes/EI/OPT/POO/teoria/07-08/tema_2__elementos_basicos.pdf http://quegrande.org/apuntes/EI/OPT/POO/teoria/07-08/tema_1_programación orientada a objetos.pdf http://quegrande.org/apuntes/EI/OPT/POO/teoria/08-09/tema_3__propiedades_basicas.pdf

Rey

Related Documents


More Documents from "Lizeth Impa"

Practica 2.organica Ii.docx
November 2019 10
November 2019 11
Material_de_laboratorio.pdf
October 2019 13
October 2019 7
Baterias De Ion Litio.pdf
November 2019 26
Disoluciones.doc
October 2019 24