You are on page 1of 6

PROGRAMACION ORIENTADA A OBJETOS

En la programacin orientada a objetos los programas se organizan a imagen y semejanza de los objetos del mundo real de tal forma que la POO contiene la informacin de los objetos ms las acciones o procedimientos que se pueden realizar con estos.

Metodos (Operaciones)

Atributos (Datos)

Objetos

Los objetos son entes provistos de un conjunto de propiedades o atributos, denominados datos, y de comportamiento o funcionalidad que corresponden a los mtodos. Pueden crearse objetos del mismo tipo a partir de modelos a los cuales llamamos clases. En la programacin orientada a objetos la estructura se organiza por los datos. Se escogen los datos que se ajustan mejor a las necesidades, de tal forma que el programa se estructura ms por los datos que por las operaciones. Lo anterior obliga a prestar ms atencin a los datos. Dado lo anterior se puede decir que los objetos conocen cosas y hacen cosas, las cosas que un objeto conoce son sus atributos y las cosas que pude hacer son su comportamiento o mtodo.

Tipos de datos abstractos y clases Las clases son las definiciones de las propiedades y comportamiento de un determinado tipo de objeto, todos los objetos similares pertenecen a una misma clase. Por ejemplo un conjunto de objetos como crculos, esferas, cuadrados, tringulos, etc., pueden pertenecer a una clase figura. Una clase define: variables (datos) y mtodos (operaciones) comunes a un conjunto de objetos, podemos decir que la clase es como una plantilla que define al objeto. La clase es el bloque de programacin fundamental en POO. Los tipos de datos abstractos son nuevos tipos de datos (instancias) que se estn creando, aplican para estructuras y para clases. Los tipos de datos abstractos TDA permiten la creacin de objetos que pertenecen a una clase con propiedades y mtodos bien definidos, en POO las TDA hacen referencia a clases. Las instancias de TDA son creadas dinmicamente, usadas y destruidas.

Clasificacin Las clases definen objetos con las mismas caractersticas, los objetos que poseen los mismos atributos y operaciones pertenecen a la misma clase.

Abstraccin La abstraccin es la propiedad que permite representar las caractersticas ms importantes o primordiales de un objeto obviando las caractersticas menos importantes o secundarias. Se centra en lo que hace el objeto y no como lo hace.

Encapsulamiento La encapsulacion o encapsulamiento es la propiedad que permite que el contenido e informacin de un objeto esta oculta al mundo exterior, por ejemplo el objeto A no conoce lo que hace el objeto B y viceversa. Tambin se puede definir como la separacin de las propiedades externas de un objeto de los detalles de implementacin internos del objeto. Al realizar esta separacin, se limita la complejidad del objeto ya que solo se muestra la informacin relevante. Lo anterior permite la separacin de un programa en mdulos, estos mdulos se implementan mediante clases, de esta forma una clase representan la encapsulacin de una abstraccin. En la prctica una clase tiene una interfaz que captura solo su parte

externa, y una implementacin que representa la abstraccin y los mecanismos que realizan las operaciones deseadas.

Modularidad Es una propiedad que permite dividir la aplicacin en partes ms pequeas, llamadas mdulos, cada una debe ser lo ms independiente del programa y sus partes restantes. Tienen conexiones con otros mdulos. Cada modulo se conecta a una sola clase de objeto. Realizar mdulos permite identificar de forma sencilla fallas y errores en el programa los cuales deben ser corregidos.

Jerarqua La jerarqua permite ordenar las abstracciones. La jerarquas ms importantes son: estructuras de clases (es un: generalizacin) y estructuras de objetos (parte de: agregacin). Las jerarquas de generalizacin se conocen como herencias. La herencia define una relacin de clases donde una clase comparte su estructura o comportamiento en una o ms clases. La agregacin permite el agregamiento fsico de estructuras, por ejemplo un camin se compone de ruedas, motor, chasis, etc., el camin es una agregacin y las ruedas, motor, chasis, son elementos agregados del camin.

Polimorfismo Es una propiedad que permite que una entidad tome muchas formas. Es la caracterstica de definir las mismas operaciones con diferentes comportamientos en diferentes clases. Es el mtodo de realizar una misma funcin pero en diferentes formas. Por ejemplo cuando los animales comen, un nio come un caramelo, una vaca pasto, un animal que come otro animal, son diferentes formas de realizar la misma funcin: comer. El polimorfismo adquiere su mayor importancia cuando se realiza derivacin o extensin de clases, s decir, cuando se obtiene una clase a partir de una clase ya existente mediante la propiedad de derivacin de clases o herencias. El polimorfismo requiere ligadura tarda, es decir, el programa no puede definir la direccin del cdigo hasta el momento de su ejecucin, cuando se enva un mensaje a un objeto, el cdigo que se llama no se determina hasta el momento de su ejecucin.

Miembros de una clase Una clase est formada por un conjunto de miembros que pueden ser datos, funciones, clases anidadas, tipos de datos, etc. Un miembro no pude ser declarado ms de una vez, tampoco es posible aadir miembros despus de una declaracin. Atributos miembro: todos los atributos que forman parte de una clase deben ser declarados dentro de esta misma clase. Mtodos miembro: al igual que los atributos deben ser definidos dentro de la clase, sin embargo el cuerpo de la funcin puede ir dentro o fuera de la clase. Para definir el mtodo miembro fuera de la clase misma, se debe escribir antes del nombre del mtodo la clase con la que el mtodo est asociado, para esto se utiliza el operador de resolucin de alcance ::.

Acceso a miembros Al encapsular los datos podemos ocultarlos de otros objetos, para ello existen calificadores que describen los datos como pblicos, privados o protegidos. Datos pblicos: se utiliza cuando se quiere dar a usuarios de una clase el acceso a miembros de esa clase. Los datos trabajan fuera de la estructura. Datos privados: oculta los miembros de una clase de los usuarios de la misma, de esta forma nada ms que los miembros de la misma clase pueden usar los miembros privados. Los datos no se pueden usar fuera de las estructuras.

Sobrecarga Es una propiedad que utiliza el mismo nombre de una operacin para representar operaciones que se comportan de formas diferentes en cuando se aplican en diferentes clases. Si se tiene n dos o ms operaciones con el mismo nombre y diferentes parmetros se dice que estas opresiones estn sobrecargadas. La sobrecarga de opresiones sirve para realizar un cdigo ms legible y modular. La sobrecarga solo aplica para operaciones.

Herencia La herencia permite abstraer el atributos comunes de objetos similares a travs del mecanismo de generalizacin ya visto. Se comienza de las clases globales (padres) y se va extendiendo a subclases especficas y especializadas (hijos). Esto permite crear muchas clases que son similares entre si, sin tener que reescribir cada una de las partes que son similares, esto permite combinar las clases o modificarlas sin alterar el cdigo original. Cuando se comparte en una sola clase se define como herencia simple y cuando se comparte a varias clases es herencia mltiple. La clase superior en la jerarqua se define como superclase, las clases que heredan los miembros de la superclase se denominan subclases.

Superclase Subclase Subclase


Empleado

Persona

Estuadiante

Ingeniero

Profesor

Graduado

Postgraduado

Constructores Un constructor es un mtodo con el mismo nombre de la clase. Este mtodo no puede tener un tipo de dato pero pueden permitir la homonimia y sobrecarga. Estos pueden ser llamados desde u mtodo de la clase. Los constructores son pblicos, inicializan las variables del objeto como tal y no devuelve valores. Los constructores adicionales producen sobrecarga, es decir, estos tienen el mismo nombre pero realizan funciones diferentes. Destructores Son la contraparte del constructor. Se ejecuta momentos antes de que el objeto sea destruido, el uso ms comn del destructor es para liberar el espacio de memoria asignada dinmicamente, aunque tambin pude ser utilizado para otras funciones como operaciones de finalizacin, por ejemplo cerrar un archivo. El

destructor tambin tiene el mismo nombre de la clase pero se antecede por una tilde ~. El destructor no regresa valores ni tiene parmetros.

You might also like