Está en la página 1de 7

Programacin orientada a objetos

La programacin orientada a objetos (POO, u OOP segn sus siglas en


ingls) es un paradigma de programacin que usa objetos en sus
interacciones, para disear aplicaciones y programas informticos.
Est basada en varias tcnicas, incluyendo herencia, cohesin, abstraccin,
polimorfismo, acoplamiento y encapsulamiento. Su uso se populariz a
principios de la dcada de 1990. En la actualidad, existe una gran variedad de
lenguajes de programacin que soportan la orientacin a objetos.

Lenguajes de programacin orientadas a objetos


ActionScript, Ada, C++, C#, VB.NET, Visual FoxPro, Clarion, Delphi, Harbour,
Eiffel, Java, JavaScript, Lexico (en castellano), Objective-C, Ocaml, Oz, Perl
(soporta herencia mltiple), PHP (en su versin 5), Python, Ruby, Smalltalk,
Magik (SmallWorld).

Abstraccin
Cada objeto en el sistema sirve como modelo de un "agente" abstracto que
puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros
objetos en el sistema sin revelar cmo se implementan estas caractersticas.
Los procesos, las funciones o los mtodos pueden tambin ser abstrados y
cuando lo estn, una variedad de tcnicas son requeridas para ampliar una
abstraccin.

Encapsulamiento
Significa reunir a todos los elementos que pueden considerarse pertenecientes
a una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la
cohesin de los componentes del sistema. Algunos autores confunden este
concepto con el principio de ocultacin, principalmente porque se suelen
emplear conjuntamente.

Polimorfismo
Comportamientos diferentes, asociados a objetos distintos, pueden compartir el
mismo nombre, al llamarlos por ese nombre se utilizar el comportamiento

correspondiente al objeto que se est usando. O dicho de otro modo, las


referencias y las colecciones de objetos pueden contener objetos de diferentes
tipos, y la invocacin de un comportamiento en una referencia producir el
comportamiento correcto para el tipo real del objeto referenciado. Cuando esto
ocurre en "tiempo de ejecucin", esta ltima caracterstica se llama asignacin
tarda o asignacin dinmica. Algunos lenguajes proporcionan medios ms
estticos (en "tiempo de compilacin") de polimorfismo, tales como las plantillas
y la sobrecarga de operadores de C++.

Herencia
Las clases no estn aisladas, sino que se relacionan entre s, formando una
jerarqua de clasificacin. Los objetos heredan las propiedades y el
comportamiento de todas las clases a las que pertenecen. La herencia
organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los
objetos ser definidos y creados como tipos especializados de objetos
preexistentes. Estos pueden compartir (y extender) su comportamiento sin
tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando
los objetos en clases y estas en rboles o enrejados que reflejan un
comportamiento comn. Cuando un objeto hereda de ms de una clase se dice
que hay herencia mltiple.

.NET
.Net es la nueva plataforma de desarrollo que ha lanzado al mercado MicroSoft,
y en la que ha estado trabajado durante los ltimos aos. Sin duda alguna va a
ser uno de los entornos de desarrollo que reinen durante los proximos aos.
Entonces .NET es un lenguaje de programacin?, No. Es mucho ms que
eso, Microsoft .NET es un conjunto de tecnologas de software , compuesto de
varios lenguajes de programacin que se ejecutan bajo el .NET Framework. Es
adems un entorno completamente orientado a objetos y que es capaz de
ejecutarse bajo cualquier plataforma.
Vamos por partes. Podramos dividir el entorno .NET en las siguientes
partes:

.NET Framework, que es el entorno de trabajo de la plataforma .NET y


que la engloba completamente. Toda la plataforma .NET forma parte de .NET
framework.

Lenguajes .NET. Destacan C# y VB.NET,y recientemente J#, aunque


existen ms lenguajes y con toda seguridad surgirn nuevos.

El Common Runtime Language CRL, que es el motor de ejecucin


comn a todos los lenguajes .NET.

MSIL, Microsoft Intermedial language, es el lenguaje intermedio al que


compilan las apliaciones (Asemmblies) .NET. Este lenguaje intermedio es
interpretado por el CRL en tiempo de ejecucin.

CLS, common Language Specification, que engloban las pautas que


deben cumplir los lenguajes .NET. Es est caracterstica la que va a permitir a
otras compaias producir lenguajes compatibles con .NET.

ADO.NET, es la nueva interfaz de bases de datos. No se trata de una


evolucin de ADO, sino que se trata de una interfaz completamente nueva.

ASP.NET, es la nueva tecnologa para pginas web dinmicas


completamente integrada dentro del entorno .NET. Representa una autentica
revolucin en el desarrollo Web (Internet e Intranet).

Biblioteca de clases .NET, es el conjunto de clases que componen


el .NET framework y que nos permiten realizar casi cualquier tarea de una
manera facil y rpida.

.NET FrameWork
.NET FrameWork es el corazn de la tecnologa .NET. Es el marco de trabajo
y ejecucin comn a toda la tecnologa .NET. Es por lo tanto un elemento
indispensable dentro de la tecnologa .NET.
Dentro del .NET framework estn integrados los lenguajes .NET, el CRL, el
CLS, ADO.NET, ASP.NET ...
En el momento de escribir esta pgina .NET soporta los siguientes lenguajes
de programacin:

C#

C++ controlado

VB.NET

J#

Delphi (s, Delphi de Borland).


Todos ellos trabajan perfectamente integrados con un motor comn, el .NET
framework, siendo C# el lenguaje principal, ya que es el nico que ha sido
desarrollado especficamente para .NET. Gran parte de la biblioteca de clases
que componen el framework estn escritas en C#.
.Net FrameWork es el conjunto de espacios de trabajo y clases que sirven de
base a los lenguajes .NET. Es la evolucin de las API de Windows y de la
fundacin de clases de Microsoft MFC hacia la completa encapsulacin.
Cualquier programa que desarrollemos utilizando la tecnologa .Net,
independientemente del lenguaje utilizado, estar basado en .Net FrameWork.
La mejor forma de entender esto es un ejemplo. Imaginemos los mens de
cualquier aplicacin Windows que nos permiten acceder a las distintas
opciones del programa, pues bien, en el mundo de la tecnologa .Net dichos
mens son una clase perteneciente al .Net FrameWork. Esta clase es siempre
la misma independientemente del lenguaje y entorno en el que nos
encontremos, y la forma de trabajar con ella es la misma desde C#, VB.net o
cualquier lenguaje .Net. Lo mismo ocurre con los botones, las imgenes, la
forma de leer los archivos ... todo, absolutamente todo lo que hagamos en un
lenguaje .NET est basado en el .Net FrameWork.
Otra fuente
Las aplicaciones .NET Framework se compilan sobre los servicios de Common
Language Runtime y aprovechan la biblioteca de clases de .NET Framework.
Common Language Runtime administra la memoria, ejecucin de subprocesos,
ejecucin de cdigo, comprobacin de la seguridad del cdigo, compilacin y
dems servicios del sistema. La biblioteca de clases de .NET Framework es
una coleccin orientada a objetos de tipos reutilizables que se integran
estrechamente con Common Language Runtime. Puede usar estos tipos para
desarrollar aplicaciones tradicionales de lnea de comandos o de interfaz
grfica de usuario (GUI), as como aplicaciones basadas en ASP.NET,
formularios Web Forms y servicios Web XML. Puede desarrollar las
aplicaciones .NET Framework en Visual Basic, Visual C#, Visual F# o Visual C+
+; se puede usar cualquiera de estos lenguajes de programacin igualmente
bien.

C# o C Sharp

C# es un lenguaje de programacin que se ha diseado para compilar diversas


aplicaciones que se ejecutan en .NET Framework. C# es simple, eficaz, con
seguridad de tipos y orientado a objetos. Las numerosas innovaciones de C#
permiten desarrollar aplicaciones rpidamente y mantener la expresividad y
elegancia de los lenguajes de estilo de C.
Visual C# es una implementacin del lenguaje C# de Microsoft. Visual Studio
ofrece compatibilidad con Visual C# con un completo editor de cdigo, un
compilador, plantillas de proyecto, diseadores, asistentes para cdigo, un
depurador eficaz y de fcil uso y otras herramientas. La biblioteca de clases de
.NET Framework ofrece acceso a numerosos servicios de sistema operativo y a
otras clases tiles y adecuadamente diseadas que aceleran el ciclo de
desarrollo de manera significativa.

Funcin (Programacin)
En computacin, una subrutina o subprograma (tambin llamada
procedimiento, funcin o rutina), como idea general, se presenta como un
subalgoritmo que forma parte del algoritmo principal, el cual permite resolver
una tarea especfica. Algunos lenguajes de programacin, como Visual
Basic.NET o Fortran, utilizan el nombre funcin para referirse a subrutinas que
devuelven un valor.
Desde un punto de vista prctico, podemos decir que una funcin es una parte
de un programa (subrutina) con un nombre, que puede ser invocada (llamada a
ejecucin) desde otras partes tantas veces como se desee. Un bloque de
cdigo que puede ser ejecutado como una unidad funcional. Opcionalmente
puede recibir valores; se ejecuta y puede devolver un valor. Desde el punto de
vista de la organizacin, podemos decir que una funcin es algo que permite un
cierto orden en una maraa de algoritmos.
Las funciones son la parte central de la programacin. Algunos lenguajes,
como Pascal, distinguen entre procedimientos ("Procedures") y funciones. En
C++ las funciones desempean ambos papeles, aunque en cierto modo, los
ficheros desempean algunas funcionalidades de lo que, en otros lenguajes
como Modula-2, se denominan mdulos. Otra diferencia substancial es que C+
+ no permite el anidamiento de funciones, es decir, definir funciones dentro de
otras. En C++ todas las funciones se definen a nivel de fichero, con lo que
tienen mbito global al fichero.
Existe una excepcin a esta regla; se refiere a las funciones miembro de las
clases, que pueden ser declaradas y definidas dentro de las propias clases.
Aunque las clases no son por supuesto funciones en el sentido estricto, si

representan cierta compartimentacin de datos y procedimientos (un tipo de


"mdulos").

Atributo
Los atributos son las caractersticas individuales que diferencian un objeto de
otro y determinan su apariencia, estado u otras cualidades. Los atributos se
guardan en variables denominadas de instancia, y cada objeto particular puede
tener valores distintos para estas variables. Las variables de instancia tambin
denominados miembros dato, son declaradas en la clase pero sus valores son
fijados y cambiados en el objeto. Adems de las variables de instancia hay
variables de clase, las cuales se aplican a la clase y a todas sus instancias.

Mtodo
En la programacin, un mtodo es una subrutina cuyo cdigo es definido en
una clase y puede pertenecer tanto a una clase, como es el caso de los
mtodos de clase o estticos, como a un objeto, como es el caso de los
mtodos de instancia. Anlogamente a los procedimientos en 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 o, posiblemente, un valor de salida (o valor de retorno) de algn
tipo.
La diferencia entre un procedimiento (generalmente llamado funcin si
devuelve un valor) y un mtodo es que ste ltimo, al estar asociado con un
objeto o clase en particular, puede acceder y modificar los datos privados del
objeto correspondiente de forma tal que sea consistente con el comportamiento
deseado para el mismo. As, es recomendable entender a un mtodo no como
una secuencia de instrucciones sino como la forma en que el objeto es til (el
mtodo para hacer su trabajo). Por lo tanto, podemos considerar al mtodo
como el pedido a un objeto para que realice una tarea determinada o como la
va para enviar un mensaje al objeto y que ste reaccione acorde a dicho
mensaje.

Clase
Una clase es la estructura de un objeto, es decir, la definicin de todos los
elementos de que est hecho un objeto. Un objeto es, por lo tanto, el
"resultado" de una clase. En realidad, un objeto es una instancia de una clase,

por lo que se pueden intercambiar los trminos objeto o instancia (o incluso


evento).
Una clase se compone de dos partes:
Atributos (denominados, por lo general, datos miembros): esto es, los
datos que se refieren al estado del objeto
Mtodos (denominados, por lo general, funciones miembros): son
funciones que pueden aplicarse a objetos

Objeto
Un objeto es una unidad dentro de un programa de computadora que consta
de un estado y de un comportamiento, que a su vez constan respectivamente
de datos almacenados y de tareas realizables durante el tiempo de ejecucin.
Un objeto puede ser creado instanciando una clase, como ocurre en la
programacin orientada a objetos, o mediante escritura directa de cdigo y la
replicacin otros objetos, como ocurre en la programacin basada en
prototipos.
Estos objetos interactan unos con otros, en contraposicin a la visin
tradicional en la cual un programa es una coleccin de subrutinas (funciones o
procedimientos), o simplemente una lista de instrucciones para el computador.
Cada objeto es capaz de recibir mensajes, procesar datos y enviar mensajes a
otros objetos de manera similar a un servicio.

Modularidad
La modularidad es, en programacin modular y ms especficamente en
programacin orientada a objetos, la propiedad que 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. La modularidad debe seguir los
conceptos de acoplamiento y cohesin.

También podría gustarte