Вы находитесь на странице: 1из 14

DEFI NI CI N DE ABSTRACCIN

Del latn abstractio, el concepto abstraccin est


vinculado al verbo abstraer (separar las propiedades de un objeto a travs de una
operacin mental, dejar de prestar atencin al mundo sensible para centrarse en un
pensamiento). La abstraccin, por lo tanto, es alguna de estas acciones o sus
efectos.
Para la filosofa, la abstraccin es una actividad cerebral que permite aislar, a
nivel conceptual, una cierta cualidad de algo con la intencin de entregarse a una
reflexin sobre la misma sin considerar el resto de las propiedades del objeto en
cuestin.
Cuando gracias a dichos pensamientos o a la accin de comparar entre diversas
cosas, se advierte que la cualidad aislada es comn a varios, se dice que el objeto
sometido a la abstraccin es un universal. La disciplina que se dedica a investigar
sobre la existencia, o no, de los universales separados de su reflexin, es
la metafsica.
Se conoce como arte abstracto, por otra parte, el estilo que no intenta reproducir
las formas de la naturaleza u otros modelos, sino que se centra en las caractersticas
de la estructura, la forma y los colores de la propia obra. Este estilo se desarroll
como una especie de oposicin al realismo y a la fotografa.
Dentro del arte abstracto es posible destacar al expresionismo abstracto, un
movimiento de la pintura que tuvo su origen en la dcada del 40 en el territorio
estadounidense. Entre sus caractersticas principales, puede sealarse su
preferencia por el leo (y no por el lienzo) y por los formatos de gran tamao.
En el arte, la abstraccin surge en el siglo XX al comenzar una nueva tendencia en
la que se exploran nuevas formas. Hasta ese momento las obras de arte
imitaban a la naturaleza con sus paisajes, personas y objetos que habitan en ella; se
crea que cuanto ms se asemejara una pintura a la realidad, ms perfecta era.
La pintura abstracta se basa en los elementos de la naturaleza pero no se rige
por ninguna norma; el artista manifiesta su mundo interior y el arte se convierte
en algo absolutamente subjetivo. En este perodo el arte se caracteriza por
transmitir sentimientos, utilizando la mezcla de colores sin lmites y del mismo
modo las formas geomtricas, en una palabra, el arte se libera.
En 1964 aparece en Estados Unidos la abstraccin postpictrica, como
sucesora del expresionismo abstracto. Quien primero mencion el trmino fue,
Clement Greenberg, para describir un estilo artstico que rechazaba la gestualidad y
aplicaba deforma uniforme el color, pero sin deseos de transmitir un mensaje a
priori. Adems, la pintura ocupaba superficies muy amplias y no deba ser
justificada con ideas o sentimientos, ella misma era su propia justificacin. De esta
corriente surgi posteriormente el minimalismo que busc un planteo formal y
cromtico ms bsico que las anteriores tendencias.
Diferentes niveles de abstraccin
En lo que respecta a la abstraccin como capacidad del razonamiento, ella es
la que permite separar a los objetos en partes y comprender lo esencial de cada una
de ellas. Segn Jacques Maritain, para comprender lo fundamental de
lasciencias especulativas, es necesario investigar sobre el dominio de las
ciencias en su jerarqua y divisiones, las cuales pueden diferenciarse de acuerdo al
grado de inteligibilidad (aquello que puede ser entendido) que poseen en ellas
los objetos del conocimiento.
Por su parte, Santo Toms de Aquino,
estaba convencido de que la inteligibilidad se desarrolla de forma paralela a
la inmaterialidad, y es por eso que son ms comprensibles las cosas de carcter
material que las espirituales; pese a ello las cuestiones superiores del saber tienen
que ver con el conocimiento espiritual.
La abstraccin constituye un proceso que se desarrolla en tres niveles:
Abstraccin de primer grado: Es conocida como la abstraccin formal.
Permite conocer la materia mvil y sensible que forma a los objetos abstractos y
captarlos en una forma amplia. En este nivel la inteligencia comprende la esencia
del objeto, su materia (salvo raras excepciones, todas las cosas estn formadas por
materia). En la antigedad esta parte del proceso reciba el nombre de phisica, es
decir fsica.
Abstraccin de segundo grado: Conocida como la abstraccin de la materia
sensible. Analiza el nmero, cantidad o extensin de la materia que forma el
objeto; es de tipo imaginaria y necesaria para comprender el funcionamiento del
objeto. La diferencia entre este grado y el primero se encuentra en la
inmaterialidad de este segundo. Es el mundo de la extensin y se resuelve a travs
de los nmeros, es decir las matemticas.
Abstraccin de tercer grado: Conocida como abstraccin de toda materia,
aquello que se separa de la materia y de lo numrico en un objeto. Este nivel trata
sobre ser como tal, es decir, sobre el mundo del Ser y las realidades que no son
materiales, como el espritu. Podra decirse que esa esencia se aprovecha de la
materia y de sus cualidades numricas para manifestarse y que slo puede
comprenderse este aspecto de la esencia a travs de la metafsica.


Lee todo en: Definicin de abstraccin - Qu es, Significado y
Concepto http://definicion.de/abstraccion/#ixzz31FP0uj2y





















Se aleja de la mmesis de la apariencia externa. La obra de arte abstracta existe independientemente de la realidad.


El grado de abstraccin puede ser parcial o absoluto. En el arte abstracto puro no existen rastros reconocibles
figurativos, mientras que la abstraccin parcial conserva partes del referente a la vez modifica otras.


nfasis en la propia expresividad de los elementos esenciales del arte y su organizacin.


Tambin los materiales y procedimientos adquieren significado ms all de su aspecto tcnico.


El ttulo de las obras puede ser explicativo y ayudar a transmitir un mensaje.







En informtica, se define al concepto de Encapsulamiento como el proceso que
interviene en el momento en que se envan los datos a travs de una determinada
Red, de modo que se pueden ordenar, administrar y hasta verificar si han llegado a
destino, en qu estado, o si ha sido eficiente la operacin, referida comnmente
como Encapsulamiento de Datos.
La accin de Encapsulado, entonces, tiene dos etapas, una en la cual se asigna
una Interfaz Pblica al dato que est siendo enviado y a las operaciones que se
pueden realizar con el mismo, y otra en la que se implementa un objeto, asignndole
la propiedad de Accesos a travs de la misma, o bien mediante una interrelacin con
otros Encapsulamientos que hayan sido transformados con la implementacin de
otro Objeto.
Entonces, la base del Encapsulamiento est en ocultar el estado de los datos
pertenecientes a un Objeto de modo tal de que solamente pueden ser cambiados a
travs de las operaciones que han sido predefinidas y especificadas para el
tratamiento de dicho objeto.
Cada uno de stos es un mdulo aislado de factores externos, de modo tal de que
cada uno de estos "paquetes" solamente acta en conjunto con otros Objetos, o bien
mediante la operacin especfica que permite su modificacin, protegindose de
alteraciones por quienes no pueden acceder a los mismos, o evitando que
posteriormente ocurran errores en su utilizacin.
El encapsulamiento dentro de un Software permite entonces aadir variables y
mtodos dentro de una Clase, manteniendo una sola entidad, mediante un mtodo
de ocultamiento especfico, permitiendo que se conozca el comportamiento de
este paquete de datos pero no la complejidad de los mismos, evitando que
sus Detalles sean vistos por quienes no han sido autorizados y garantizando un
correcto envo y recepcin de dicha informacin.
Para realizar un Encapsulamiento es necesario entender dos funciones
fundamentales:
Interfaz: Permite establecer una imgen externa de una Clase especfica, realizando
un aislamiento del comportamiento y tomando una abstraccin comn a la misma
Implementacin: Realizada la abstraccin mencionada, se ejecuta una
representacin y se le asignan los comportamientos que esperamos mediante el
mecanismo adecuado para su ejecucin
A su vez, podemos distinguir distintos tipos de Encapsulamiento:
Estndar: Forma de encapsulamiento bsica y predeterminada
Abierto: En este caso, el encapsulamiento se da cuando la Clase puede ser accedida
desde cualquier parte y desde el exterior de la misma
Protegido: El encapsulamiento solo puede ser accedido y ejecutado desde la Clase
Semi-Abierto: Permite solamente su acceso desde una Clase Heredada
Cerrado: Impide su acceso de cualquier otra forma que no sea ejecutndose en su
Clase
Protegido : Solo es accesible desde la Clase y las clases que heredan (a cualquier
nivel).
Semi cerrado : Solo es accesible desde la clase heredada
Cerrado : Solo es accesible desde la Clase.


desde
mastermagazine http://www.mastermagazine.info/termino/4880.php#ixzz31FS9ewe8



En programacin orientada a objetos, el polimorfismo se refiere a la propiedad por la que es
posible enviar mensajes sintcticamente iguales a objetos de tipos 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.
ndice
[ocultar]
1 Descripcin
2 Clasificacin
3 Ejemplo de polimorfismo
4 Polimorfismo desde una interfaz
5 Diferencias entre polimorfismo y sobrecarga
6 Referencias
Descripcin[editar]
En lenguajes basados en clases y con un sistema de tipos de datos fuerte
(independientemente de si la verificacin se realiza en tiempo de compilacin o de ejecucin),
es posible que el nico modo de poder utilizar objetos de manera polimrfica sea que
compartan una raz comn, es decir, una jerarqua de clases, ya que esto proporciona la
compatibilidad de tipos de datos necesaria para que sea posible utilizar una misma variable de
referencia (que podr apuntar a objetos de diversas subclases de dicha jerarqua) para enviar
el mismo mensaje (o un grupo de mensajes) al grupo de objetos que se tratan de manera
polimrfica.
No obstante, algunos lenguajes de programacin (Java, C++) permiten que dos objetos de
distintas jerarquas de clases respondan a los mismos mensajes, a travs de las
denominadas interfaces (esta tcnica se conoce como composicin de objetos). Dos objetos
que implementen la misma interfaz podrn ser tratados de forma idntica, como un mismo tipo
de objeto, el tipo definido por la interfaz. As, distintos objetos podrn intercambiarse en tiempo
de ejecucin siempre que sean del mismo tipo, y adems con dependencias mnimas entre
ellos. Por estos motivos se considera un buen principio de diseo en programacin orientada a
objetos el favorecer la composicin de objetos frente a la herencia de clases.
1

En Java las interfaces se declaran mediante la palabra clave Interface. Estas se utilizan
para lograr la necesaria concordancia de tipos que hace posible el polimorfismo, tambin
como un contrato que debe cumplir cualquier clase que implemente una cierta interfaz, y como
una forma de documentacin para los desarrolladores. A veces, en la literatura especfica
sobre Java se habla de "herencia y polimorfismo de interfaces", lo que no concuerda con los
conceptos de la programacin orientada a objetos porque una clase que implementa una
interfaz slo obtiene su tipo de datos y la obligacin de implementar sus mtodos, no copia
comportamiento ni atributos. Esta terminologa puede llevar a confusin, puesto que en Java a
menudo se utiliza la mal llamada "herencia de interfaces" para dotar a una clase de uno o
varios tipos adicionales, lo que unido a la composicin, evite la necesidad de la herencia
mltiple y favorezca una utilizacin ms amplia del polimorfismo.
No obstante, el uso de una jerarqua de clases como paso previo, es muy habitual incluso en
aquellos lenguajes en los que es posible prescindir de tal jerarqua, ya que, desde una
perspectiva conceptual, se puede decir que al pertenecer los "objetos polimrficos" a
subclases de una misma jerarqua, se asegura la equivalencia semntica de los mensajes que
se invocarn de modo polimrfico. Por esto, en programacin orientada a objetos a veces se
denomina al polimorfismo como "polimorfismo de subclase (o de subtipo)".
En resumen, en la programacin orientada a objetos, la esencia del polimorfismo no atae a la
clase o prototipo de la que provienen los objetos. Aun as, en los lenguajes basados en clases,
es habitual (y en algunos tal vez sea el nico modo) que dichos objetos pertenezcan a
subclases pertenecientes a una misma jerarqua. 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).
Lo anterior se hace an ms evidente en lenguajes de programacin orientada a objetos
basados en prototipos, como Self, en los que las clases no existen.
Adems, es importante remarcar que si un cierto grupo de objetos pueden utilizarse de
manera polimrfica es porque, en ltima instancia, todos ellos saben responder a un cierto
mensaje (o a varios), pero dado que esos mismos objetos generalmente contendrn otros
mtodos (que otros objetos en dicho grupo no contienen), difcilmente se pueda decir lisa y
llanamente que los objetos son polimrficos; lo correcto es decir que esos objetos se pueden
utilizar de modo polimrfico para un cierto conjunto de mensajes.
Un ejemplo. Podemos crear dos clases distintas: Pez y Ave que heredan de
la superclaseAnimal. La clase Animal tiene el mtodo abstracto mover que se implementa de
forma distinta en cada una de las subclases (peces y aves se mueven de forma distinta).
Entonces, un tercer objeto puede enviar el mensaje mover a un grupo de objetos Pezy Ave por
medio de una variable de referencia de clase Animal, haciendo as un uso polimrfico de
dichos objetos respecto del mensaje mover.
El concepto de polimorfismo, desde una perspectiva ms general, se puede aplicar tanto a
funciones como a tipos de datos. As nacen los conceptos de funciones polimrficas y tipos
polimrficos. Las primeras son aquellas funciones que pueden evaluarse o ser aplicadas a
diferentes tipos de datos de forma indistinta; los tipos polimrficos, por su parte, son aquellos
tipos de datos que contienen al menos un elemento cuyo tipo no est especificado.
Clasificacin[editar]
Se puede clasificar el polimorfismo en dos grandes clases:
Polimorfismo dinmico (o polimorfismo paramtrico) es aqul en el que el cdigo no
incluye ningn tipo de especificacin sobre el tipo de datos sobre el que se trabaja. As,
puede ser utilizado a todo tipo de datos compatible.
Polimorfismo esttico (o polimorfismo ad hoc) es aqul en el que los tipos a los que se
aplica el polimorfismo deben ser explcitos y declarados uno por uno antes de poder ser
utilizados.
El polimorfismo dinmico unido a la herencia es lo que en ocasiones se conoce
como programacin genrica.
Tambin se clasifica en herencia por redefinicin de mtodos abstractos y por mtodo
sobrecargado. El segundo hace referencia al mismo mtodo con diferentes parmetros.
Otra clasificacin agrupa los polimorfismo en dos tipos: Ad-Hoc que incluye a su vez
sobrecarga de operadores y coercin,Universal (inclusin o controlado por la herencia,
paramtrico o genericidad).
Ejemplo de polimorfismo[editar]
En el siguiente ejemplo hacemos uso del lenguaje C++ para ilustrar el polimorfismo. Se
observa a la vez el uso de las funciones virtuales puras, como se les conoce en C++, estas
funciones constituyen una interfaz ms consistente cuando se trabaja con una jerarqua de
clases, puesto que hacen posible el enlace durante la ejecucin. Sin embargo como se ver,
para que el polimorfismo funcione no es una condicin obligatoria que todas las funciones en
la clase base sean declaradas como virtuales.


Diagrama de clases UML, que describe grficamente la relacin entre la clase base Figura y sus posibles
clases derivadas, y la entidad que utiliza esta estructura: la Aplicacin, tambin identificado como objeto
Cliente.
#include<iostream>
using namespace std;

class Figura {
private:
float base;
float altura;
public:
void captura();
virtual unsigned float perimetro()=0;
virtual unsigned float area()=0;
};

class Rectangulo: public Figura {
public:
void imprime();
unsigned float perimetro(){return 2*(base+altura);}
unsigned float area(){return base*altura;}
};

class Triangulo: public Figura {
public:
void muestra();
unsigned float perimetro(){return 2*altura+base}
unsigned float area(){return (base*altura)/2;}
};

void Figura::captura()
{
cout << "CALCULO DEL AREA Y PERIMETRO DE UN TRIANGULO ISSCELES Y UN
RECTANGULO:" << endl;
cout << "escribe la altura: ";
cin >> altura;
cout << "escribe la base: ";
cin >> base;
cout << "EL PERIMETRO ES: " << perimetro();
cout << "EL AREA ES: " << area();
getchar();
return 0;
}
Polimorfismo desde una interfaz[editar]
Aunque el polimorfismo es el mismo se aplique donde se aplique, el modo en que se aplica
desde una interfaz puede resultar un poco ms oscuro y difcil de entender. Se expone un
sencillo ejemplo (en VB-NET) comentado para entender como funciona aplicado desde una
interfaz, primero se escribe el cdigo y luego se comenta el funcionamiento. Nota: para no
enturbiar el cdigo en exceso, todo lo que no se declara privado se sobreentiende pblico.
' Declaramos una interfaz llamada IOperar y declaramos una funcin
llamada Operar
' que implementarn las clases deseadas:
Interface IOperar
Function Operar(valor1 as integer, valor2 as integer) as long
End Interface

' Declaramos una clase que trabaja ms alejada del usuario y que
contendra funciones comunes
' para las siguiente clase, si no fueran idnticas iran en la
interfaz,
' pero al caso de mostrar el polimorfismo se suponen idnticas:
Class Operacion
Function Calcular(clasellamante as Object) as Long
' aqu ira el cdigo comn a todas las operaciones.... que llaman a
esa funcin
' por ejemplo recoger los 2 valores de la operacin, chequear que
estn en el rango deseado, etc.

' se supone que la funcin inputValor recoge un valor de algn sitio
valor1 as integer = inputValor()
valor2 as integer = inputValor()

op as New IOperar = clasellamante
Return op.Operar(valor1,valor2) 'AQU es donde se utiliza el
polimorfismo.
End Function
End Class
' Declaramos 2 clases: Sumar y Restar que implementan la interfaz y
que llaman a la clase Operacion:
Class Sumar
Implements IOperar
Private Function Operar(valor1 as Integer, valor2 as Integer) as
Long Implements IOperar.Operar
Return valor1 + valor2
End Function

Function Calcular() as Long
op as New operacion
Return op.Calcular(Me) ' se est llamando a la funcin 'Calcular' de
la clase 'Operacin'
End Function
End Class
' segunda clase....
Class Restar
Implements IOperar
Private Function Operar(valor1 as Integer, valor2 as Integer) as
Long Implements IOperar.Operar
Return valor1 - valor2
End Function

Function Calcular() as Long
op as New operacion
Return op.Calcular(Me) ' se est llamando a la funcin 'Calcular' de
la clase 'Operacin'
End Function
End Class
Analicemos ahora el cdigo para entender el polimorfismo expuesto en la interfaz: La interfaz
expone un mtodo que puede ser implementado por las diferentes clases, normalmente
relacionadas entre si. Las clases Sumar y Restar implementan la interfaz pero el mtodo de la
interfaz lo declaramos privado para evitar ser accedido libremente y adems tienen un mtodo
llamado Calcularque llama a la clase Operacion donde tenemos otro mtodo con el mismo
nombre. Es esta clase ltima la que realiza el polimorfismo y debe fijarse como es a travs de
una instancia de la interfaz que llama al mtodo operar. La interfaz sabe a qu mtodo de qu
clase llamar desde el momento que asignamos un valor a la variable OP en el
mtodoCalcular de la clase Operacion, que a su vez recibi la referencia del
mtodo Calcular desde la clase que la llama, sea sta cual sea, se identifica a s misma,
mediante la referencia Me This segn el lenguaje empleado. Debe notarse que la instancia
de la interfaz accede a sus mtodos aunque en sus clases se hayan declarado privadas.
Diferencias entre polimorfismo y sobrecarga[editar]
El polimorfismo como se muestra en el ejemplo anterior, suele ser bastante ventajoso aplicado
desde las interfaces, ya que permite crear nuevos tipos sin necesidad de tocar las clases ya
existentes (imaginemos que deseamos aadir una claseMultiplicar), basta con recompilar
todo el cdigo que incluye los nuevos tipos aadidos. Si se hubiera recurrido a
lasobrecarga durante el diseo exigira retocar la clase anteriormente creada al aadir la
nueva operacin Multiplicar, lo que adems podra suponer revisar todo el cdigo donde se
instancia a la clase.
Un mtodo est sobrecargado si dentro de una clase existen dos o ms declaraciones de
dicho mtodo con el mismo nombre pero con parmetros distintos, por lo que no hay que
confundirlo con polimorfismo.
En definitiva: La sobrecarga se resuelve en tiempo de compilacin utilizando los nombres
de los mtodos y los tipos de sus parmetros; el polimorfismo se resuelve en tiempo de
ejecucin del programa, esto es, mientras se ejecuta, en funcin de la clase a la que
pertenece el objeto.
Referencias[editar]
1. Volver arriba GAMMA et al, Erich (2003). Patrones de diseo. Addison Wesley. pp. 15-
18. ISBN 84-7829-059-1.





herencia (P.O.O)
HERENCIA:
-CONCEPTOS:
herncia:Es una propiedad que permite que los objetos sean creados a partir de otros ya
existentes, obteniendo caractersticas (mtodos y atributos) similares a los ya existentes. Es la
relacin entre una clase general y otra clase mas especifica. Es un mecanismo que nos permite
crear clases derivadas a partir de clase base, Nos permite compartir automticamente mtodos
y datos entre clases subclases y objetos. Por ejemplo: Si declaramos una clase prrafo derivada
de un clase texto todos los mtodos y variables asociadas con la clase texto son
automticamente heredados por la subclase prrafo.[1]
herencia:Este quizas es el tema que mas problemas causa al estudiante; sin embargo, no es
dificil en su concepcin.
El objeto Persona es un objeto muy generico y limitado en si; asi que se puede considerar como
un objeto Abstracto; ya que por si mismo no puede crear una persona completa; sin embargo,
sus funciones basicas son las mismas en todos los seres humanos, con diferencias puntuales, asi
que podemos crear dos objetos Hombre y Mujer, que hereden todas sus caracteristicas
genericas como respirar, hablar, nombre, etc, del objeto Persona, y sea en la implementacin de
cada objeto donde empiezen las diferencias.[5]
-Ejemplo en Java [editar] public class Mamifero
{

private int patas;
private String nombre;

public void imprimirPatas()
{
System.out.println(nombre + tiene + patas + patas\n);
}

public Mamifero(String nombre, int patas)
{
this.nombre = nombre;
this.patas = patas;
}
}

public class Perro extends Mamifero
{
public Perro(String nombre){
super(nombre, 4);
}
}

public class Gato extends Mamifero{
public Gato(String nombre){
super(nombre, 4);
}
}

public class CreaPerro {
public static void main(String [] args) {
Perro bobi = new Perro(Bobi);
bobi.imprimirPatas(); /*Est en la clase mamfero*/
}
}
[7]

Вам также может понравиться