0% encontró este documento útil (0 votos)
8 vistas

Clases en Java

El documento describe las clases, objetos, características de las clases en Java, herencia y abstracción. Las clases son plantillas que se usan para crear objetos. Los objetos son instancias de clases. Las clases tienen nombres, propiedades, constructores y métodos. La herencia permite que las clases hereden atributos y métodos de otras clases. La abstracción representa objetos en código mediante la extracción de sus características esenciales.

Cargado por

Ximena
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
8 vistas

Clases en Java

El documento describe las clases, objetos, características de las clases en Java, herencia y abstracción. Las clases son plantillas que se usan para crear objetos. Los objetos son instancias de clases. Las clases tienen nombres, propiedades, constructores y métodos. La herencia permite que las clases hereden atributos y métodos de otras clases. La abstracción representa objetos en código mediante la extracción de sus características esenciales.

Cargado por

Ximena
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

CLASES EN JAVA

¿Qué son las clases?

Las clases en Java son básicamente una plantilla que sirve para crear un objeto. Si

imaginásemos las clases en el mundo en el que vivimos, podríamos decir que la clase

«persona» es una plantilla sobre cómo debe ser un ser humano. Todos y cada uno de

nosotros, los seres humanos, somos objetos de la clase «persona», ya que todos somos

personas. La clase «persona» contiene la definición de un ser humano, mientras que cada ser

humano es una instancia u objeto de dicha clase. Por lo tanto:

Una clase no es más que un modelo o plantilla sobre la cual creamos


nuestros objetos.

¿Que son objetos?

Un Objeto es una instancia (derivación de algo) de una clase, un objeto en Java es

creado a partir de una clase, si tenemos un objeto “Materia, de código 001“, es una instancia

de la clase Materia.
Características de una clase en Java

Existe una estructura fundamental para todas las clases definidas en Java, que

debemos tener en cuenta al momento de construir clases:

 Nombre: Identifica la clase de forma única en nuestro proyecto.

 Propiedades: Hacemos referencia a los atributos o campos de nuestra clase.

 Constructor: Aquí definimos las acciones que ocurrirán por defecto cuando creamos

un objeto a partir de nuestra clase.

 Métodos: Estos son los procesamientos o acciones disponibles para el objeto creado a

partir de nuestra clase, normalmente aquí se definen métodos para asignar valores a

las propiedades (Atributos), como también métodos para obtener valores de las

propiedades.
HERENCIA EN JAVA

La herencia es un pilar importante de OOP (Programación Orientada a Objetos). Es el

mecanismo en Java por el cual una clase permite heredar las características (atributos y

métodos) de otra clase.

¿Qué es Herencia?

Podemos definir la herencia como la capacidad de crear clases que adquieren de

manera automática los miembros (atributos y métodos) de otras clases que ya existen,

pudiendo al mismo tiempo añadir atributos y métodos propios.

En el lenguaje de Java, una clase que se hereda se denomina superclase. La clase que

hereda se llama subclase. Por lo tanto, una subclase es una versión especializada de una

superclase. Hereda todas las variables y métodos definidos por la superclase y agrega sus

propios elementos únicos.


Terminología importante

 Superclase: la clase cuyas características se heredan se conoce como superclase (o

una clase base o una clase principal).

 Subclase: la clase que hereda la otra clase se conoce como subclase (o una clase

derivada, clase extendida o clase hija). La subclase puede agregar sus propios campos

y métodos además de los campos y métodos de la superclase.

 Reutilización: la herencia respalda el concepto de “reutilización”, es decir, cuando

queremos crear una clase nueva y ya hay una clase que incluye parte del código que

queremos, podemos derivar nuestra nueva clase de la clase existente. Al hacer esto,

estamos reutilizando los campos/atributos y métodos de la clase existente.

Ventajas de la Herencia

Entre las principales ventajas que ofrece la herencia en el desarrollo de aplicaciones, están:

 Reutilización del código: En aquellos casos donde se necesita crear una clase que,

además de otros propios, deba incluir los métodos definidos en otra, la herencia evita

tener que reescribir todos esos métodos en la nueva clase.

 Mantenimiento de aplicaciones existentes: Utilizando la herencia, si tenemos una

clase con una determinada funcionalidad y tenemos la necesidad de ampliar dicha

funcionalidad, no necesitamos modificar la clase existente (la cual se puede seguir

utilizando para el tipo de programa para la que fue diseñada) sino que podemos crear

una clase que herede a la primera, adquiriendo toda su funcionalidad y añadiendo la

suya propia.
ABSTRACCIÓN EN JAVA

En Java se dice que son clases abstractas aquellas clases base (superclases) de las que

no se permite la creación de objetos.

(La abstracción es como se pueden representar los objetos en modo de código.)

Una de las características más útiles de cualquier lenguaje orientado a objetos es la

posibilidad de declarar clases que definen como se utiliza solamente, sin tener que

implementar métodos. Esto es muy útil cuando la implementación es específica para cada

usuario, pero todos los usuarios tienen que utilizar los mismos métodos. Un ejemplo sencillo

para comprender este concepto:

Ejemplo 1

¿Qué características podemos abstraer de los automóviles? o ¿Qué características semejantes

tienen todos los automóviles?

Características: Marca, Modelo, Número de chasis, Peso llantas o cauchos, Puertas,

Ventanas... Comportamiento: Acelerar, Frenar, Retroceder...

Ejemplo 2

La gerencia de un taller mecánico necesita un sistema para controlar los vehículos que

ingresan a sus instalaciones. En este caso, las características esenciales de la clase vehículo

son: Marca, Modelo, Color, Falla detectada, Nombre del Propietario, Dirección del

Propietario, Teléfono del Propietario...

A esto se le llama abstracción. En general un programa no es más que una descripción

abstracta de un procedimiento o fenómeno que existe o sucede en el mundo real.


POLIMORFISMO

Veremos que el polimorfismo y la herencia son dos conceptos estrechamente ligados.

Conseguimos implementar polimorfismo en jerarquías de clasificación que se dan a través de

la herencia. Por ejemplo, tenemos una clase vehículo y de ella dependen varias clases hijas

como coche, moto, autobús, etc.

¿Para qué nos sirve en la práctica el polimorfismo?

Tenemos la clase Parqueo. Dentro de ésta tenemos un método estacionar (). Puede que en un

Parqueo tenga que estacionar coches, motos o autobuses. Sin polimorfismo tendría que crear

un método que permitiese estacionar objetos de la clase "Coche", otro método que acepte

objetos de la clase "Moto" para estacionarlos, etc. Pero todos estaremos de acuerdo que

estacionar un coche, una moto o un bus es bastante similar: "entrar en el Parqueo, recoger el

ticket de entrar, buscar una plaza, situar el vehículo dentro de esa plaza...".
Lo ideal sería que nuestro método me permita recibir todo tipo de vehículos para

estacionarlos, primero por reutilización del código, ya que es muy parecido estacionar uno u

otro vehículo, pero además porque así si mañana el mercado trae otro tipo de vehículos,

como una van, todoterreno hibrido, o una nave espacial, mi software sea capaz de aceptarlos

sin tener que modificar la clase Parqueo.

Gracias al polimorfismo, cuando declaro la función estacionar () puedo decir que recibe

como parámetro un objeto de la clase "Vehículo" y el compilador me aceptará no solamente

vehículos genéricos, sino todos aquellos objetos que hayamos creado que hereden de la clase

Vehículo, o sea, coches, motos, buses, etc. Esa relajación del sistema de tipos para aceptar

una gama de objetos diferente es lo que llamamos polimorfismo.

ENCAPSULAMIENTO

Consiste en unir en la Clase las características y comportamientos, esto es, las variables y

métodos. Es tener todo esto en una sola entidad.

En los lenguajes estructurados esto era imposible. Es evidente que el encapsulamiento se

logra gracias a la abstracción. La utilidad del encapsulamiento va por la facilidad para

manejar la complejidad, ya que tendremos a las Clases como cajas rojas donde sólo se

conoce el comportamiento pero no los detalles internos, y esto es conveniente porque nos

interesará conocer que hace la Clase pero no será necesario saber cómo lo hace.

Ejemplo 1
De un televisor, el usuario conoce su apariencia y parte de su funcionamiento. Sólo le

importa que funcionen el selector de canales, el video y el audio; no le interesa saber cómo

funciona
Ejemplocada
2 una de las partes internas del aparato, ese detalle sólo le interesan al fabricante
y al técnico de servicio.

De un animal no sólo es necesario conocer su apariencia; también se requiere conocer qué

sabe hacer y cómo reacciona ante determinadas situaciones.

Caja Negra

Un objeto en el que su comportamiento y atributos son conocidos pero no así su trabajo

interno, el cual continúa siendo un misterio.

También podría gustarte