Sie sind auf Seite 1von 20

PROGRAMACIN ORIENTADA A OBJETOS

FUNDAMENTOS

QU ES?
Es un paradigma de programacin que usa los objetos en sus interacciones, para disear aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia, cohesin, abstraccin, polimorfismo, acoplamiento y encapsulamiento. Su uso se populariz a principios de la dcada de los aos 1990.

CLASE
Se define como la agrupacin o coleccin de objetos que comparten una estructura y comportamiento en comn. Es una plantilla que contiene la descripcin general de una coleccin de objetos, consta de tributos y mtodos que resumen las caractersticas y el comportamiento comunes de un conjunto de objetos. Todo objeto (tambin llamado instancia de una clase) pertenece a alguna clase; mientras un objeto es una entidad concreta que existe en el tiempo y en el espacio, una clase representa solo una abstraccin.

OBJETO
Representa alguna entidad de la vida real, es decir, alguno de los objetos que pertenecen al negocio con que estamos trabajando o al problema con el que nos estamos enfrentando, y con los que podemos interactuar. A travs del estudio de ellos se adquiere el conocimiento necesario para, mediante la abstraccin y la generalizacin, agruparlos segn sus caractersticas en conjuntos.

METODOS
Un mtodo es una subrutina asociada exclusivamente a una clase (llamados mtodos de clase o mtodos estticos) o a un objeto (llamados mtodos de instancia). Anlogamente a los procedimientos en los lenguajes imperativos, un mtodo consiste generalmente de una serie de sentencias para llevar a cabo una accin, un juego de parmetros de entrada que regularn dicha accin y o, posiblemente, un valor de salida (o valor de retorno) de algn tipo.

ATRIBUTOS
Son los datos o variables que caracterizan al objeto y cuyos valores en un momento dado indican su estado. Mediante los atributos se definen complementos que oculta un objeto, los cuales sern manipulados solamente por los mtodos definidos sobre dicho objeto.

ABSTRACCIN
La abstraccin consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompaan Es el principio de ignorar aquellos aspectos o un fenmeno observado que no son relevantes, con el objetivo de concentrarse en aquellos que si lo son.

ENCAPSULAMIENTO
Pblico: funciones de toda clase pueden acceder a los datos o mtodos de una clase que se define con el nivel de acceso pblico. Este es el nivel de proteccin de datos ms bajo Protegido: el acceso a los datos est restringido a las funciones de clases heredadas, es decir, las funciones miembro de esa clase y todas las subclases Privado: el acceso a los datos est restringido a los mtodos de esa clase en particular. Este es nivel ms alto de proteccin de datos.

MODULARIDAD
Permite subdividir una aplicacin en partes ms pequeas (llamadas mdulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicacin en s y de las restantes partes. Estos mdulos que se puedan compilar por separado, pero que tienen conexiones con otros mdulos. Al igual que la encapsulacin, los lenguajes soportan la Modularidad de diversas formas.

HERENCIA
La herencia facilita la creacin de objetos a partir de otros ya existentes e implica que una subclase obtiene todo el comportamiento (mtodos) y eventualmente los atributos (variables) de su superclase.

Es la relacin entre una clase general y otra clase ms especifica. Por ejemplo: Si declaramos una clase prrafo derivada de una clase texto, todos los mtodos y variables asociadas con la clase texto, son automticamente heredados por la subclase prrafo.

POLIMORFISMO
Se refiere a la posibilidad de enviar un mensaje a un grupo de objetos cuya naturaleza puede ser heterognea. El nico requisito que deben cumplir los objetos que se utilizan de manera polimrfica es saber responder al mensaje que se les enva. Entonces, el polimorfismo debe verse como una forma flexible de usar un grupo de objetos (como si fueran slo uno). Podra decirse que el polimorfismo en esencia refiere al comportamiento de los objetos, no a su pertenencia a una jerarqua de clases (o a sus tipos de datos).