You are on page 1of 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-la-
programacion-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/

You might also like