Programacion Orientado A Objetos

  • May 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 Programacion Orientado A Objetos as PDF for free.

More details

  • Words: 1,395
  • Pages: 5
Programación orientada a objetos Paradigmas POO: los paradigmas de programación afectan en buena medida la forma de programar, y por tanto de desarrollar software, de muchos ingenieros y programadores. Entre los diferentes paradigmas que existen encontramos el Paradigma de la Programación Orientada a Objetos (POO); Características: El POO se enfoca en la identificación de entidades su estructura, clasificación y comportamiento dentro del sistema. Teniendo esto presente, tras hacer un modelado de un sistema Abstracción: Es el proceso en el que el desarrollador lleva la realidad a un modelo computacional que le permite desarrollar un software que satisfaga las necesidades del sistema tratado. En POO esto es identificar los objetos y las clases involucradas en el sistema. Mediante la abstracción podemos identificar todos los elementos de un objeto: su identidad sus estados, comportamiento Datos. Es un atributo del objeto que representa cuantitativamente o cualitativamente a ese objeto. Procedimiento. Es una operación que lleva a cabo un servicio a los atributos del objeto. (2)

Encapsulamiento: Todas las clases poseen métodos, es decir las acciones que definen el comportamiento de los objetos que se encuentran en ella. Sin embargo, aunque los usuarios de los objetos podemos saber cuáles son estos métodos, no es necesario que nos enteremos acerca de cómo hace la clase para implementarlos. A esta propiedad se la denomina encapsulamiento. Esto es permitir que se perciba la visión externa de una clase y no su implementación o visión interna. (1) Herencia: las clases no están aisladas, sino que se relacionan entre sí, formando una jerarquía de clasificación. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen Herencia múltiple: Algunos lenguajes orientados a objetos, como C++ permiten herencias múltiples, lo que significa que una clase puede heredar los atributos de otras dos superclases. Este método puede utilizarse para agrupar atributos y métodos desde varias clases dentro de una sola.

(3) Herencia simple o jerárquica: La relación primaria-secundaria entre clases puede representarse desde un punto de vista jerárquico, denominado vista de clases en árbol. La vista en árbol comienza con una clase general llamada

superclase (a la que algunas veces se hace referencia como clase primaria, clase padre, clase principal, o clase madre; existen muchas metáforas genealógicas). Las clases derivadas (clase secundaria o subclase) se vuelven cada vez más especializadas a medida que van descendiendo el árbol. Por lo tanto, se suele hacer referencia a la relación que une a una clase secundaria con una clase primaria mediante la frase "es una" x o y.

(3) Relaciones: Todo sistema abarca muchas clases y objetos Los objetos contribuyen en el comportamiento de un sistema colaborando entre si La colaboración se logra a través de las relaciones Existen dos tipos principales de relaciones Asociación Agregación Relaciones de Asociación: Una asociación es una conexión entre dos clases que representa una comunicación Una asociación puede tener nómbrela comunicación puede ser tanto UNI como bi.-direccional (por defecto) La multiplicidad es el número de instancias que participan en una asociación Ejemplo: Una Persona es Dueña de un Vehículo Un Vehículo Pertenece a una Persona

PERSONA

VEHICULO DISEÑO

Relaciones de Agregación: La agregación es una forma especial de asociación donde un todo se relaciona con sus partes También se conoce como “una parte de” o una relación de contención Ejemplo: Una Puerta es una parte de un Vehículo El Vehículo es azul, la Puerta es Azul Mover el Vehículo implica mover la Puerta

vehiculo

puerta

-color +mover

Polimorfismo: La palabra polimorfismo proviene del griego y significa que posee varias formas diferentes. Este es uno de los conceptos esenciales de una programación orientada a objetos. Así como la herencia está relacionada con las clases y su jerarquía, el polimorfismo se relaciona con los métodos. En general, hay tres tipos de polimorfismo: •

Polimorfismo de sobrecarga



Polimorfismo para métrico (también llamado polimorfismo de plantillas)



Polimorfismo de inclusión (también llamado redefinición o subtipado)

El polimorfismo de sobrecarga: ocurre cuando las funciones del mismo nombre existen, con funcionalidad similar, en clases que son completamente independientes una de otra (éstas no tienen que ser clases secundarias de la clase objeto). Por ejemplo, la clase complex, la clase image y la clase link pueden todas tener la función "display". Por lo tanto, el polimorfismo de sobrecarga nos permite definir operadores cuyos comportamientos varían de acuerdo a los parámetros que se les aplican. Así es posible, por ejemplo, agregar el operador + y hacer que se comporte de manera distinta cuando está haciendo referencia a una operación entre dos números enteros (suma) o bien cuando se encuentra entre dos cadenas de caracteres (concatenación). El polimorfismo para métrico: es la capacidad para definir varias funciones utilizando el mismo nombre, pero usando parámetros diferentes (nombre y/o tipo). El polimorfismo parametrito

Una signatura es el nombre y tipo (estático) que se da a los argumentos de una función. Polimorfismo de inclusión: La habilidad para redefinir un método en clases que se hereda de una clase base se llama especialización. Por lo tanto, se puede llamar un método de objeto sin tener que conocer su tipo intrínseco Clase: definiciones de las propiedades y comportamiento de un tipo de objeto concreto. La instanciación es la lectura de estas definiciones y la creación de un objeto a partir de ellas. (4) Métodos Virtuales. Una jerarquía de clases unidas por la herencia, con nombres de métodos comunes Para operaciones que son similares conceptualmente, pero que realizan tareas diferentes. Como consecuencia, Cuando diferentes objetos de las diferentes clases de la jerarquía reciben el mismo mensaje, Éste provoca acciones totalmente distintas. (2)

g. sobreescritura y sobrecarga La sobrecarga de un método es una manera que tiene una clase de tratar con tipos diferentes de una manera uniforme. Es estática porque el implementador de la clase necesita conocer todos los tipos que se van a encontrar antes de escribir los métodos. La utilización de subclases permite construir niveles de polimorfismo en tiempo de ejecución más dinámico. Si se declara una subclase se puede sobre escribir un método concreto para que se comporte de manera diferente al de la superclase. (5) ATRIBUTOS: Los atributos son datos específicos de una clase. En la definición de clase se indica cuales son los atributos y conque nombre se va a designar a cada uno de ellos. El que una declaración de atributo sea pública significa que el elemento definido pueda utilizarse libremente desde cualquier otro punto del programa. En el caso de una clase su carácter público es necesario para poder crear objetos de esa clase en otros puntos del programa (new). Para acceder a un atributo hay que indicarle el nombre del objeto al que pertenece: Las propiedades.net distinguen un objeto determinado de los restantes que forman parte de la misma organización y tiene valores que dependen de la propiedad de que se trate. Las propiedades de un objeto pueden ser heredadas a sus descendientes en la organización. (6) PROPIEDADES Todo objeto puede tener cierto número de propiedades, cada una de las cuales tendrá, a su vez, uno o varios valores. En OOP, las propiedades corresponden a las clásicas "variables" de la programación estructurada. Son, por lo tanto, datos encapsulados dentro del objeto, junto con los métodos (programas) y las

relaciones (punteros a otros objetos). Las propiedades de un objeto pueden tener un valor único o pueden contener un conjunto de valores más o menos estructurados (matrices, vectores, listas, etc.). Además, los valores pueden ser de cualquier tipo (numérico, alfabético, etc.) si el sistema de programación lo permite. Pero existe una diferencia con las "variables", y es que las propiedades se pueden heredar de unos objetos a otros. En consecuencia, un objeto puede tener una propiedad de maneras diferentes: -Propiedades propias. Están formadas dentro de la cápsula del objeto. -Propiedades heredadas. Están definidas en un objeto diferente, antepasado de éste (padre,"abuelo", etc.). A veces estas propiedades se llaman propiedad miembro porque el objeto las posee por el mero hecho de ser miembro de una clase. (7) Una interfaz :(en POO), define que métodos o propiedades una clase debe de tener, o sea la interfaz en si, no hace nada por si sola, cuando uno crea una clase y implementa una interfaz, necesita declarar los métodos y propiedades que la interfaz tiene definidas o un error es lanzado (8)

(1)http://ronaldcorrea.nireblog.com/post/2007/09/25/el-paradigma-de-laprogramacion-orientada-a-objetos (2) PROFESOR JAVIER JIMÉNEZ PACHECO (3) http://es.kioskea.net/contents/poo/heritage.php3 (4) http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos (5) http://pisuerga.inf.ubu.es/lsi/Invest/Java/Tuto.Oct98/1_Intro/1_IntPoo.htm#_Toc441217862 (6) http://www.monografias.com/trabajos/objetos/objetos.shtml (7) http://www.monografias.com/trabajos/objetos/objetos.shtml (8) http://www.forosdelweb.com/f68/ke-para-ke-sirve-interfaz-406672/

Related Documents