PROGRAMACIÓN ORIENTADA A OBJETOS ENCAPSULAMIENTO Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. Esto permite aumentar la cohesión de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultación, principalmente porque se suelen emplear conjuntamente. La encapsulación: Se refiere a la capacidad de agrupar y condensar en un entorno con límites bien-definidos distintos elementos. Cuando hablemos de encapsulación en general siempre nos referiremos, pues, a encapsulación abstracta. De manera informal, primero generalizamos (la abstracción) y luego decimos: la generalización está bien, pero dentro de un cierto orden: hay que poner límites (la encapsulación), y dentro de ntro de esos límites vamos a meter, a saco, todo lo relacionado con lo abstraído: no sólo datos, sino también métodos, comportamientos, etc. Por un lado es una abstracción pues, de acuerdo con la definición establecida anteriormente, es en ésta donde se definen las propiedades y atributos genéricos de determinados objetos con características comunes (recordemos el ejemplo de la sala de cine). La Clase es, por otro lado, una encapsulación porque constituye una cápsula o saco que encierra y amalgama de forma clara tanto los datos de que constan los objetos como los procedimientos que permiten manipularlos. Las Clases se constituyen, así, en abstracciones encapsuladas. Encapsulación: También conocida como ocultamiento. Cuando me acuesto a ver televisión no me preocupo del modo como éste funciona, o lo que hace para cambiar de canal o aumentar el volumen. A menos que seas experto en electrónica o técnico en televisores, te pasará lo mismo: no lo sabes y no te importa; sólo sabes que al presionar un botón ocurre la magia. La encapsulación se encarga de mantener ocultos los procesos internos que necesita para hacer lo que sea que haga, dándole al programador acceso sólo a lo que necesita. Esto da dos ventajas iniciales: Lo que hace el usuario puede ser controlado internamente (incluso sus errores), evitando que todo colapse por una intervención indeseada (tú no quieres que tu mamá, que no tiene ni idea de electrónica, abra tu televisor y empiece a jugar con los circuitos para cambiar los canales manualmente ¿verdad?). La segunda ventaja es que, al hacer que la mayor parte del código esté oculto , puedes hacer cambios y/o mejoras sin que eso afecte el modo como los usuarios van a utilizar tu código. Sólo tienes que mantener igual la forma de acceder a él (en el caso del control de la tele, que los botones sigan siendo los mismos y que el botón de ³apagado´ no cambie el
volumen). Por cierto, estas puertas de acceso que das a los usuarios son lo que se conoce como interfaz .
Encapsulamiento El encapsulamiento consiste en unir en la Clase las características y comportamientos, esto es, las variables y métodos. Es tener todo esto es una sola entidad. En los lenguajes estructurados esto era imposible. Es evidente que el encapsulamiento se logra gracias a la abstracción y el ocultamiento que veremos a continuación. La utilidad del encapsulamiento va por la facilidad para manejar la complejidad, ya que tendremos a las Clases como cajas negras donde sólo se conoce el comportamiento pero no los detalles internos, y esto es conveniente porque nos interesará será conocer qué hace la Clase pero no será necesario saber cómo lo hace.
Ejemplos vida diaria: Ejemplo de abstracción: Cuando nace un bebe y definimos sus características únicas; como ser: Nombre completo Tipo de sangre Sexo Fecha de nacimiento Lugar donde nació Nacionalidad Rasgos Etcétera. Y les damos valores a todas esas variables Ejemplo de encapsulación: Cuando se nos arruina el automóvil y lo llevamos donde el mecánico y le decimos que lo arregle, lo que estamos pidiendo realmente es que el mecánico ejecute unos de sus métodos para que pueda reparar el auto; donde lo único que nos importa es ver el auto reparado y no nos importa como lo hizo. Ejemplo de herencia: Los animales se dividen en dos grupos: vertebrados e invertebrados, luego los vertebrados en mamíferos, reptiles, peses, anfibios, y aves; mientras que los invertebrados en inceptos, artropodos, aracnidos, otros.
y así se va especializando cada ves . Donde cada clase va heredando atributos y características de la clase padre animal. Ejemplo de `polimorfismo: Siguiendo el ejemplo anterior como referencia: Tenemos los mamíferos que tienen atributos y funciones comunes, como el gato que tiene como función caminar y como atributo tiene patas que son atributos y funciones propios de los mamiferos; mientras que la ballena que también es mamífero no tiene patas y nada en el mar; es en este momento donde sucede polimorfismo ya que tendríamos que redefinir los atributos y funciones de la ballena.
Abstracción: Ejemplo: Cuando queremos comprar un celular, pues ponemos las características de como lo deseamos, el color, si lo queremos de doble chip, con memoria externa, bluetooth etc... Z Encapsulamiento: Ejemplo: Cuando vamos un restaurante, pedimos el menú, y desde luego hacemos nuestra orden y se la damos al mesero, comemos y nos vamos, realmente al momento de ordenar al mesero lo que deseamos es que se nos traerá el alimento que pedimos, y no nos interesa el proceso que tuvo dicha comida. Z Herencia: Ejemplo: Tenemos mascotas en el hogar, 2 perros raza Pastor Alemán, estos tienen cachorros. Estos cachorros heredaran características de sus padres, como ser 4 patas, una cola, 2 orejas etc... Z Polimorfismo: Ejemplo: Con el ejemplo de los cachorros, si fuesen sus padres un perro de raza Doberman y su madre un Pastor alemán, este ya no tendrá la misma raza de sus padres, y tendremos que redefinir la raza del cachorro.
Ejemplo de Abstracción: Cuando mencionamos la palabra "computadora" se nos viene a la mente: - Monitor
- CPU - Teclado - Ratón - Parlantes, etc. sin necesidad de estarla observando porque ya tenemos una imagen de lo que es una computadora. Ejemplo de encapsulamiento: Cuando encendemos la computadora no nos interesa la acción que realiza ésta para ponerse a funcionar, solamente nos interesa que se encienda. Ejemplo de Herencia: Tenemos la clase computadora con todos los atributos ( monitor, teclado, etc..) y con sus métodos ( procesa información y la muestra). De esta clase se desprende las subclases computadora portátil y computadora de escritorio y también tendrán los mismo métodos y atributos que la clase padre. Ejemplo de Polimorfismo: tenemos la clase mamíferos la cual tiene atributos como ser: tiene pelo, nace del vientre de la madre, se amantan de la madre durante los primeros meses de vida, et. de esta clase se desprende la clase gatos y la clase ornitorrinco la clase gato seguirá teniendo los mismos atributos que la clase animal pero la clase ornitorrinco cambiará el atributo que nacen del vientre de la madre por el que nacen de huevo, entonces está redefiniendo un atributo para su conveniencia.
ejemplo de abstracción:tenemos como clase caballo sus características principales son:raza,color, cuatro patas,tiene pelos, tiene cola, etc.
ejemplo de encapsulamiento:compramos un refresco, el refresco es elaborado con varios ingredientes y lleva un proceso de elaboración;pero a nosotros lo único que queremos es tomarnos el refresco, no nos interesa como fue elaborado.
ejemplo de herencia:de la clase teléfono se divide en teléfono celular y teléfono fijo los dos tienen los mismos atributos y métodos de su clase padre.
tomando como clase árbol la cual tiene atributos. tallo, raíz hoja, etc. esta clase se divide arboles frutales y arboles maderables. de los frutales se deriva árbol de manzana, limón y del maderable se deriva caoba, ceiba. de la clase maderable su fruto no es comestible y su tallo se utiliza para la elaboración de muebles y así redefinimos su atributos
ejemplo de abstracción: tenemos la clase árbol de manzanas y definimos sus características que son: tiene hojas, tallo, raíz, fruto, color, tamaño. ejemplo encapsulamiento:cuando compramos un mp4, no nos interesa el proceso que se llevo a cabo para su elaboración, solo nos interesa que sirva para escuchar música. ejemplo de herencia: tenemos como clase base los peces, los cuales se dividen en peces de agua dulce y peces de agua salada, los cuales heredan las características de la clase base. ejemplo de polimorfismo: tomando como base el ejemplo anterior los peces de agua salada no pueden vivir en agua dulce así que se tienen que redefinir sus atributos.
Ejemplo de Abstracción: una calculadora, lo que se nos viene a la mente es el color, el tamaño, sus funciones y la forma. Ejemplo de Encapsulación: Siguiendo el ejemplo anterior de la calculadora a nosotros no nos importa saber cómo fue elaborada si no simplemente sus funciones. Ejemplo de Herencia: de la clase Deporte se obtienen las subclases: equipo y cuerpo técnico Ejemplo del Polimorfismo: Siguiendo el ejemplo anterior tenemos la clase deporte la cual tiene atributos y de esta clase se obtienen la clase de deporte atletismo y la clase de deporte futbol seguirán teniendo los mismos atributos de la clase deporte
pero la clase futbol cambiara el atributo que se juega con un balón y el otro no, entonces aquí estamos redefiniendo un atributo para nuestra conveniencia.
un ejemplo de abstraccion dentro del ambito en el que vivimmos, seria ver un plato de tajaditas con pollo, y verificamos si tiene repollo, chismol,salsa, mayonesa, pollo. etc. un ejemplo de encapsulacion es cuando queremos llamar por celular a alguien, y el celular no nos hace saber como hace para realizar la llamada,y encapsula la informacion, ya que a nosotros solo nos interesa que la persona a la que llamamos nos conteste. La herencia es el pilar de la programacion que mas se asimila en la vida cotidiana, un ejemplo seria el de un objeto llamado perro chihuahua hereda los atributos de la clase padre(perro) como ser: pelaje, 4 patas, orejas. etc. El polimorfismo se presenta en mi opinion en las 4 operaciones basicas de matamaticas. ejemplo: cuando utilizamos el metodo sumar lo aplicamos para sumar fracciones, enteros, polinomios. etc.
Ejemplo de Abstraccion: tenemos la clase: Bisicleta, la cual tiene los siguientes atributos: * Color * Tamaño * Marca Ejemplo de Encapsulamiento: Cuando compramos una fragancia la elegimos por el aroma pero desconocemos el proceso de elaboración. Ejemplo de Herencia tenemos la clase: Televisor sus atributos son: * Color * Tamaño * Marca * Control luego tenemos las subclases: CRT, Plasma, LCD. todas estas subclases heredan los mismos atributos de la clase padre. Ejemplo de Polimorfismo: tenemos la clase: Animal la cual tiene como metodo emitir sonidos entonces las subclases: perro, gato y leon; tambien emiten sonidos con la diferncia
que: el perro ladra, el gato maulla y el leon ruge.
Abstracción: objeto baso, atributos: -color -forma -textura
Encapsulamiento: del objeto espejo, cuando nos miramos solo nos importa reflejarnos en el, no nos interesa el proceso de elaboración ni el material con el que esta elaborado.
Herencia: de la clase: camas atributos: -forma -color -textura -posición método: sirve para descansar
subclases: camas unipersonales y matrimoniales, estas subclases heredan las características y los métodos de la clase padre, pero agregan otras características que las separa de las demás subclase: ejemplo, la subclase unipersonal tiene un atributo que es solo para una persona en cambio la matrimonia es para dos personas.
Polimorfismo: de la clase muebles de madera las subclases sillas y la subclase mesas
tienen el mismo método que de la clase padre , pero se predefine ya que la silla es para sentarse y las mesas para colocar algo.
-Ejemplo de Abstracción: Seria cuando miramos un "multifuncional" que quisiéramos comprar nos fijamos la marca, el tamaño, el color, la forma, etc. -Ejemplo de Encapsulamiento: en el mismo ejemplo de la impresora nosotros no sabemos cuantos transmisores tiene, que tipo de tecnología tiene ni cuanta energía consume para poder funcionar, lo único que le interesa es que salga el papel con lo que uno quiere. -Ejemplo de Herencia: Una familia de gatos, cuando una pareja gatos (clase padre) tiene gatitos heredan muchas características de la clase padre como ser las patas, ojos, los bigotes, etc. -Ejemplo de polimorfismo: tenemos la clase gato que todos tienen raza pero a la hora de combinar dos razas da como resultado otra. Entonces reorienta su raza, es decir da como resultado otro tipo de raza.
Un ejemplo de abstraccion seria por ejemplo: cuando compramos un libro nos interesa el autor, su contenido. Ejemplo de encapsulamiento: siguiendo con el ejemplo anterior diriamos que a nosotros no nos interesa en que estaba pensando cuando escribio ese libro que lo motivo a publicarloetc. Ejemplo de Herencia sigamos con la clase libro esta clase hereda todos sus atributos y metodos a sus hijos como por ejemplo al libro de comedia le hereda: un lector, un autor, un contenido, un color un tamaño etc. y sus metodos:leerlo,entretener etc. ejemplo de polimorfismo:
tenemos la clase libro este hereda todos sus metodos y atributos a sus hijos pero son los mismos metodos pero utilizados para diferentes funciones por ejemplo un libro de comedia tiene el mismo metodo que un libro de caricaturas nada mas que cada uno lo utiliza de manera diferente
ejemplo de abstracción: tenemos como clase caballo sus características principales son: peso, raza, color, cuatro patas, tiene pelos, tiene cola, etc. ejemplo de encapsulamiento: compramos un refresco, el refresco es elaborado con varios ingredientes y lleva un proceso de elaboración; pero a nosotros lo único que queremos es tomarnos el refresco, no nos interesa como fue elaborado. ejemplo de herencia: de la clase teléfono se divide en teléfono celular y teléfono fijo los dos tienen los mismos atributos y métodos de su clase padre. ejemplo de polimorfismo: tomando como clase árbol la cual tiene atributos. tallo, raíz hoja, etc. esta clase se divide árboles frutales y arboles maderables. de los frutales se deriva árbol de manzana, limón y del maderable se deriva caoba, ceiba. De la clase maderable su fruto no es comestible y su tallo se utiliza para la elaboración de muebles y así redefinimos sus atributos
ejemplo de abstración mi celular, lo mas fundamental es: tiene pantalla es de plastico tiene un teclado alfanumerico tiene un centro de carga tiene bateria una camara y un color que me gusta. ejemplo de encapsulamiento utilizare el teclado de mi computadora yo puedo ver las teclas pero no se que es lo que las hace funcionar eso me es oculto a mi asi que es un caso de encapsulamiento ya que proteje lo que hace funcionar el eclado y evita que yo lo dañe. herencia: digamos que tengo una clase de telefonos con los siguientes atributos: color
peso tamaño forma numeros fuente de alimentacion y este tiene una subclase telefono inhalambrico que hereda los mismos atributos color peso tamaño forma numeros fuente de alimentacion ejemplo de polimorfismo tengo la calse vehiculo y este tiene un metodo y sus metodos los hereda la clase hijo y esta los usara de la forma que le convengan sin que esos hijos dejen de ser vehiculos.