Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción a la Plataforma Java (página 4)




Enviado por Pablo Turmero



Partes: 1, 2, 3, 4

Monografias.com
Programación Orientada a Objetos en Java ()
Ejercicio Propuesto: Desarrollar un programa (cursojava.aritmetica.MenuAritmetico) que visualice repetidamente un menú por pantalla donde se puedan seleccionar distintas operaciones a realizar:
1.- Suma
2.- Resta
3.- Multiplicación
4.- División
5.- Resto
6.- ¿Es primo?
7.- Salir.
Realizar modularmente la programación necesaria para resolver los cálculos.

Monografias.com
Programación Orientada a Objetos en Java ()
Ejercicio Propuesto: Desarrollar un programa (cursojava.rect.RectanguloRelleno) que pida al usuario que introduzca la base y la altura (enteras de no más de 15) de un rectángulo para dibujarlo usando asteriscos:
******
******
******
Modificarlo para que el usuario introduzca el carácter a usar en el dibujado.
Modificarlo para que dibuje un rectángulo sin rellenar. (cursojava.rect.RectanguloHueco)

Monografias.com
Programación Orientada a Objetos en Java ()
Ejercicio Propuesto: Desarrollar un programa (cursojava.adivina.AdivinaNumero) que calcule un número aleatorio entre 1 y 100 y pida sucesivamente al usuario que intente adivinarlo indicándole si el número aleatorio es mayor o menor al número que haya introducido.
Modificarlo para que el usuario pueda decidir si quiere o no jugar una vez acertado el número.

Monografias.com
Programación Orientada a Objetos en Java ()
El objeto this.
La referencia para poder usar EL objeto desde el código de una clase.
Siempre accesible en entornos no estáticos.
No es obligatorio más que en algunas ocasiones:
Para poder llamar a un constructor desde otro constructor. Debe ser la primera instrucción del constructor.
En casos de ambigüedad entre datos miembro y variables locales de un método.

Monografias.com
Programación Orientada a Objetos en Java ()
Relaciones entre objetos.
Las clases no son conceptos independientes.
La POO permite modelar en dominio del problema a nivel de programación de forma casi directa.
Hay dos tipos de relaciones.
Inclusión: Define la relación “… tiene un …”. Se materializa mediante un atributo de una clase en otra. Un atributo de la clase es un objeto de otra clase
Herencia: Define la relación “… es un …”. Se materializa mediante la generalización de una clase sobre otra.

Monografias.com
Programación Orientada a Objetos en Java ()
Herencia.
Herramienta que permite generalizar conceptos.
Se crea una jerarquía. Los conceptos “padre” definen características comunes que los conceptos “hijo” heredan como propias.
Java no permite la herencia múltiple.
Se usa la palabra reservada “extends” para relacionar las dos clases.
class ClaseDerivada extends ClaseBase

Monografias.com
Programación Orientada a Objetos en Java ()
Con esta nueva forma de relacionar conceptos surge un nuevo tipo de encapsulación: protegida.
Se usa la palabra reservada “protected”.
Define miembros que son accesibles desde la propia clase y desde las clases derivadas.
Además, es equivalente a la encapsulación pública para clases del mismo paquete.

Monografias.com
Programación Orientada a Objetos en Java ()
Encapsulación.

Monografias.com
Programación Orientada a Objetos en Java ()
Gracias a la herencia se permite poder referenciar a un objeto de tipo derivado como tipo base.
TipoBase objBase = new TipoDerivado();
Esta utilidad permite poder tratar de la misma forma a todos los elementos derivados (estén en el punto en el que estén dentro de la jerarquía).
TipoBase[] array = new TipoBase[cantidad];
array[indice0] = new TipoDerivado1();
array[indice1] = new TipoDerivado2();

Monografias.com
Programación Orientada a Objetos en Java ()
Los objetos derivados se construyen en cascada, empezando desde la clase “más base” hacia abajo. Así puede observarse realmente que cuando se crea un objeto derivado, realmente se crean los objetos base también.
Este comportamiento tiene sus implicaciones cuando se pierde el constructor por defecto: Hay que llamar explícitamente al constructor base.
Existe el objeto “super” que representa la referencia al objeto base que también se creó. Este objeto se puede utilizar para:
Explicitar el uso de un miembro base.
Llamar a constructores base desde constructores derivados. Debe ser la primera instrucción del constructor.
Toda clase en Java hereda siempre de la clase java.lang.Object.
¿Qué utilidad puede tener esto?

Monografias.com
Programación Orientada a Objetos en Java ()
Polimorfismo.
Una característica de la POO aplicable a los métodos.
Permite ejecutar un código de método distinto según el objeto que se haya instanciado y al que se referencie.
Necesidades para que se dé en Java:
Relación de herencia.
Exactamente la misma signatura de método en ambas clases (padre e hija).

Monografias.com
Programación Orientada a Objetos en Java ()
Clases abstractas.
Son clases declaradas con la palabra reservada “abstract”.
public abstract class ClaseDeclaradaAbstracta
{ …
No se pueden instanciar (no se puede hacer new ClaseDeclaradaAbstracta).
Su única finalidad es que otras clases hereden de ellas.
Sirven para poder implementar conceptos que no deban existir físicamente.

Monografias.com
Programación Orientada a Objetos en Java ()
Los métodos puede declararse con la palabra reservada “abstract”
public abstract void metodo();
Estos métodos no pueden tener cuerpo (se pone un ‘;’ al final directamente).
Una clase con al menos un método abstracto, debe declararse abstracta.
La característica de la abstracción se propaga por la jerarquía. Los métodos abstractos deberán ser implementados gracias al polimorfismo en clases derivadas.

Monografias.com
Programación Orientada a Objetos en Java ()
Interfaces.
El máximo exponente del polimorfismo. Son equivalentes a una clase completamente abstracta: todos sus métodos son abstractos (sin cuerpo).
Se declaran con la palabra reservada (“interface”).
public interface NombreInterfaz
{
// datos
// métodos (sólo signatura)
}
Puede tener datos.
Los métodos se declaran de forma normal (sin “abstract”) y definen la signatura a implementar en las clases que implementen la interfaz.
Las clases pueden implementar todas las interfaces que quieran. Se usa la palabra reservada “implements”.
public class ClaseConInterfaz implements NombreInterfaz

Monografias.com
Programación Orientada a Objetos en Java ()
La abstracción permite definir interfaces (signaturas de métodos) que gracias al polimorfismo, implementarán las clases derivadas/implementadoras.
Gracias a que un objeto creado como derivado puede referenciarse desde un tipo de datos base (clase abstracta o interfaz), se puede ejecutar código distinto según el objeto derivado sin tener que conocerlo.
ClaseAbstracta[] objAbs = new ClaseAbstracta[cantidad];
objAbs[indice0] = new ClaseImplementadora1();
objAbs[indice1] = new ClaseImplementadora2();

Monografias.com
Programación Orientada a Objetos en Java ()
Métodos y clases “final”.
Si se indica en un método, no se podrá “polimorfear” ese método en clases derivadas.
class MiClase
{
public final void metodoNoPolimorfeable()
{ …
Si se indica en una clase, no se podrá heredar de dicha clase.
final class ClaseNoHeredable
{ …
Por ejemplo, los tipos de datos básicos mapeados en clases son de tipo final.

Monografias.com
Programación Orientada a Objetos en Java ()
Mediante el operador “instanceof” se pueden conocer los tipos abstractos de un objeto que se creó con el operador “new”.
boolean b = (objeto instanceof TipoClase);

Monografias.com
Programación Orientada a Objetos en Java ()
Ejemplos de uso de herencia/polimorfismo:
Empresa – Empleados.
Lectura / Escritura de datos. (XML, PrintWriter (System.out o en Servlets), etc.)
Editor gráfico.
Profesor – Conexión – Alumnos.
Interfaz humano computador (texto, ventana, web, …).
Desarrollo de componentes (java.util.*)
java.lang.Object
equals, finalize, toString, toString, clone, hashCode

Monografias.com
Programación Orientada a Objetos en Java ()
Consecuencias del polimorfismo:
Ampliable: Permite poder añadir nuevos tipos de datos completamente nuevos. Plug-ins.
Reusable: Permite definir elementos que usan una interfaz y que pueden compilarse una sola vez y durarán para “siempre”.
Flexible: Se puede cambiar el comportamiento de forma muy sencilla (un simple new).
Independencia: Los módulos se independizan. Se podrían incluso desarrollar en paralelo.

Monografias.com
Programación Orientada a Objetos en Java ()
Excepciones (Avanzado)
Las excepciones poseen una estructura jerárquica. Para que un objeto pueda ser lanzado (throw) necesita heredar de la clase java.lang.Throwable.
De esta clase heredan los errores (java.lang.Error) y las excepciones (java.lang.Exception). Los desarrolladores deben capturar las excepciones.
A partir de Exception heredan muchas excepciones pero las java.lang.RuntimeException no hay obligatoriamente que capturarlas.
Las instrucciones catch se ven afectadas por la jerarquía y deben ponerse en orden ascendente, desde las más bajas en la jerarquía a las más altas.
¿Qué pasaría si se pusiese un catch de java.lang.Throwable?

Monografias.com
Programación Orientada a Objetos en Java ()
Bloque finally
Esta palabra reservada permite indicar un bloque de código que se ejecutará siempre tanto si se lanza una excepción como si no.
Su uso está muy ligado a la liberación correcta de recursos. Por ejemplo, cerrar un fichero, indicar valores en caso de error etc.
public static void main(String[] args)
{

try
{

}
… // catches, pero es opcional
finally
{
}
}

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter