0% encontró este documento útil (0 votos)
35 vistas4 páginas

Abstracción en Programación Orientada a Objetos

El documento describe varios conceptos clave de la programación orientada a objetos como la abstracción, encapsulamiento, herencia y polimorfismo. La abstracción permite representar las características esenciales de un objeto sin incluir detalles no esenciales. La encapsulación oculta datos e implementaciones internas de una clase. La herencia permite que subclases hereden atributos y métodos de una superclase. El polimorfismo permite que métodos con el mismo nombre tengan comportamientos diferentes dependiendo del tipo de objeto.

Cargado por

Camilo Latorre
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
35 vistas4 páginas

Abstracción en Programación Orientada a Objetos

El documento describe varios conceptos clave de la programación orientada a objetos como la abstracción, encapsulamiento, herencia y polimorfismo. La abstracción permite representar las características esenciales de un objeto sin incluir detalles no esenciales. La encapsulación oculta datos e implementaciones internas de una clase. La herencia permite que subclases hereden atributos y métodos de una superclase. El polimorfismo permite que métodos con el mismo nombre tengan comportamientos diferentes dependiendo del tipo de objeto.

Cargado por

Camilo Latorre
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

La Abstracción

Es como una operación intelectual que separa las cualidades de un objeto para
considerarlas aisladamente o para analizar al objeto en su pura esencia o noción.

Básicamente es la capacidad de separar los elementos (al menos mentalmente) para


poder verlos de forma singular. Como cuando describimos el cuerpo humano y decimos
cabeza, brazo(s), pierna(s), etc.

Con la abstracción podemos representar las características esenciales de un objeto sin


preocuparnos de las restantes características (no esenciales). La abstracción se centra en
la vista externa de un objeto, de modo que sirva para separar el comportamiento esencial
de un objeto de su implementación.

EJEMPLO:

Se puede considerar que un Tren puede manipular objetos Persona sin tener en cuenta sus


propiedades ni métodos ya que sólo le interesa, por ejemplo, calcular la cantidad de personas
que están viajando en él en ese momento, sin tener en cuenta ninguna otra información
relacionada con dichas personas, tales como la altura, el nombre, el color de ojos, etc.

Clases de abstracciones
Abstracción de Entidades: Es un objeto que representa un modelo útil de una entidad
que se desea.
Abstracción de Acciones: Un objeto que representa un conjunto de operaciones y todas
ellas desempeñan funciones del mismo tipo.
Abstracción de Máquinas virtuales: Un objeto que agrupa operaciones, todas ellas
virtuales, utilizadas por algún nivel superior de control u operaciones (entre ellos
podríamos hablar de un circuito).
Abstracción de coincidencia: Un objeto que almacena un conjunto de operaciones que
no tienen relación entre sí.
ENCAPSULAMIENTO
Hay muchos datos que no tiene por qué conocerlo aquel que esté usando la clase
Persona; ya que son inherentes al objeto y solo controlan su funcionamiento interno; por
ejemplo, cuando alguien te ve puede saber inmediatamente si eres hombre o mujer
(propiedad) o puede hablarte y obtener una respuesta procesada (método); también
puede conocer el color de tu cabello y ojos. En cambio, jamás sabrá que cantidad de
energía exacta tienes o cuantas neuronas te quedan, ni siquiera preguntándote ya que
ninguna de tus propiedades externas visibles o funciones de comunicación al público te
permiten saber esos datos.

Esto es la encapsulación u ocultación; hacer las variables que son innecesarias para el
tratamiento del objeto pero necesarias para su funcionamiento privadas, así como las
funciones que no necesitan interacción del usuario o que solo pueden ser llamadas por
otras funciones dentro del objeto (Como por ejemplo, palpitar)

La encapsulación es muy conveniente y nos permite (Si programamos bien) colocar en


funcionamiento nuestro objeto en cualquier tipo de sistema, de una manera modular y
escalable (algunas de las reglas de la ingeniería del software).

Formas de encapsular
Abierto: Todos pueden acceder a los datos o métodos de una clase que se definen con
este nivel, este es el nivel más bajo, esto es lo que tu quieres que la parte externa vea.

Protegido: Podemos decir que estás no son de acceso público, solamente son accesibles
dentro de su clase y por subclases.

Privado: En este nivel se puede declarar miembros accesibles sólo para la propia clase.

EJEMPLO:

Borre intencionalmente el archivo “usuario java”, pero esta la clase “[Link]”. Al


ejecutar el programa. No se puede saber cuela es la contraseña. Dice que la contraseña
esta “encapsulada”.
HERENCIA
Es una propiedad que permite que los objetos sean creados a partir de otros ya
existentes, obteniendo características (métodos y atributos) similares a los ya existentes.

Es la relación entre una clase general y otra clase más específica. Es un mecanismo que
nos permite crear clases derivadas a partir de clase base, Nos permite compartir
automáticamente métodos y datos entre clases subclases y objetos.

EJEMPLOS:

Si declaramos una clase párrafo derivada de una clase texto todos los métodos y
variables asociadas con la clase texto son automáticamente heredados por la subclase
párrafo.

Podemos crear dos objetos Hombre y Mujer, que hereden todas sus características
genéricas como respirar, hablar, nombre, etc., del objeto Persona, y sea en la
implementación de cada objeto donde empiezan las diferencias.

POLIFORMO
En programación orientada a objetos el polimorfismo se refiere a la posibilidad de definir
clases diferentes que tienen métodos o atributos denominados de forma idéntica, pero
que se comportan de manera distinta. El concepto de polimorfismo se puede aplicar tanto
a funciones como a tipos de datos. Así nacen los conceptos de funciones polimórficas
y tipos polimórficos. Las primeras son aquellas funciones que pueden evaluarse o ser
aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimórficos, por su
parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no está
especificado.

TIPOS DE POLIFORMO
Polimorfismo de sobrecarga: Ocurre cuando las funciones del mismo nombre existen, con
funcionalidad similar, en clases que son completamente independientes una de otra
(éstas no tienen que ser secundarias de la clase objeto). Por ejemplo, la clase complex,
la clase image y la clase link pueden todas tener la función "display". Esto significa que no
necesitamos preocuparnos sobre el tipo de objeto con el que estamos trabajando si todo
lo que deseamos es verlo en la pantalla.
En algunos lenguajes, el término polimorfismo es también conocido como ‘Sobrecarga de
parámetros’ ya que las características de los objetos permiten aceptar distintos
parámetros para un mismo método (diferentes implementaciones) generalmente con
comportamientos distintos e independientes para cada una de ellas.
EJEMPLO:
 Este método devuelve la suma de 2 parámetros
 Función suma(int numero1,int numero2)
 ‘  este método devuelve la suma de los 3 parámetros
 Función suma(int numero1,int numero2, int numero3)
 ‘  este método devuelve la concatenación de cadena1 y cadena2
 Función suma(String cadena1, String cadena2)

También podría gustarte