para enfocar un tipo de problemtica particular que sirve como referencia, para
enfrentar y resolver nuevos problemas de ndole similar.
En el desarrollo de software, un framework o infraestructura digital, es una
estructura conceptual y tecnolgica de soporte definido, normalmente con
artefactos o mdulos concretos de software, que puede servir de base para la
organizacin y desarrollo de software. Tpicamente, puede incluir soporte
deprogramas, bibliotecas, y un lenguaje interpretado, entre otras herramientas,
para as ayudar a desarrollar y unir los diferentes componentes de un proyecto.
Representa una arquitectura de software que modela las relaciones generales de
las entidades del dominio, y provee una estructura y una especial metodologa de
trabajo, la cual extiende o utiliza las aplicaciones del dominio
Atributos
Los atributos son las caractersiticas 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. Por ejemplo, el nmero de ruedas de un
automvil es el mismo cuatro, para todos los automviles.
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 Modula2, 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").
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 losmtodos 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
Un objeto
no es ms que un conjunto de variables (o datos) y mtodos (o funciones)
relacionados entre s. Los objetos en programacin se usan para modelar objetos
o entidades del mundo real (el objeto hijo, madre, o farmacutica, por ejemplo). Un
objeto es, por tanto, la representacin en un programa de un concepto, y contiene
toda la informacin necesaria para abstraerlo: datos que describen sus atributos y
operaciones que pueden realizarse sobre los mismos. La siguiente figura muestra
una representacin visual de un objeto.
Clase
Normalmente en el mundo real existen varios objetos de un mismo tipo, o como
diremos enseguida, de una misma clase. Por ejemplo, mi bicicleta es una de las
muchas bicicletas que existen en el mundo. Usando la terminologa de la
programacin orientada a objetos, diremos que mi bicicleta es una instancia de la
clase de objetos conocida como bicicletas. Todas las bicicletas tienen algunos
estados o atributos (color, marcha actual, cadencia actual, dos ruedas) y algunos
mtodos (cambiar de marcha, frenar) en comn. Sin embargo, el estado particular
de cada bicicleta es independiente del estado de las dems bicicletas. La
particularizacin de estos atributos puede ser diferente. Es decir, una bicicleta
podr ser azul, y otra roja, pero ambas tienen en comn el hecho de tener una
variable color. De este modo podemos definir una plantilla de variables y
mtodos para todas las bicicletas. Las plantillas para crear objetos son
denominadas clases. Una clase es una plantilla que define las variables y los
mtodos que son comunes para todos los objetos de un cierto tipo.
Encapsulamiento
Herencia
En programacin orientada a objetos, la herencia es, despus de la agregacin o
composicin, el mecanismo ms utilizado para alcanzar algunos de los objetivos
ms preciados en el desarrollo de software como lo son la reutilizacin y la
extensibilidad. A travs de ella los diseadores pueden crear nuevas clases
partiendo de una clase o de una jerarqua de clases preexistente (ya comprobadas
y verificadas) evitando con ello el rediseo, la modificacin y verificacin de la
parte ya implementada. 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 especfica. 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.
La herencia es uno de los mecanismos de los lenguajes de programacin
orientada a objetos basados en clases, por medio del cual una clase se deriva de
polimorfismo
En programacin orientada a objetos, el polimorfismo se refiere a la propiedad por
la
que
es
posible
enviar
mensajes
sintcticamente
iguales
a objetos detipos distintos. El nico requisito que deben cumplir los objetos que se
utilizan de manera polimrfica es saber responder al mensaje que se les enva.
La apariencia del cdigo puede ser muy diferente dependiendo del lenguaje que
se utilice, ms all de las obvias diferencias sintcticas.
Por ejemplo, en un lenguaje de programacin que cuenta con un sistema de
tipos dinmico (en los que las variables pueden contener datos de cualquier tipo u
objetos de cualquier clase) como Smalltalk no se requiere que los objetos que se
utilizan de modo polimrfico sean parte de una jerarqua de clases.