You are on page 1of 9

Polimorfismo En programacin orientada a objetos el polimorfismo se refiere a la posibilidad de enviar un mensaje a un grupo de objetos cuya naturaleza puede ser

heterognea. 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) comoSmalltalk no se requiere que los objetos que se utilizan de modo polimrfico sean parte de una jerarqua de clases.

Herencia En orientacin a objetos la herencia es, despus de la agregacin o composicin, el mecanismo ms utilizado para alcanzar algunos de los objetivos ms preciados en el desarrollo de software como lo son la reutilizacin y la extensibilidad. A travs de ella los diseadores pueden crear nuevas clases partiendo de una clase o de una jerarqua de clases preexistente (ya comprobadas y verificadas) evitando con ello el rediseo, la modificacin y verificacin de la parte ya implementada. La herencia facilita la creacin de objetos a partir de otros ya existentes e implica que una subclase obtiene todo el comportamiento (mtodos) y eventualmente los atributos (variables) de su superclase.

Ejemplo:

public class Mamifero{ private int patas; private String nombre; public void imprimirPatas(){ JOptionPane.showMessageDialog(null," Tiene " + patas + " patas\n","Mamifero", JOptionPane.INFORMATION_MESSAGE); } 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 CrearPerro { public static void main(String [] args) { Perro perrito = new Perro("Pantaleon"); perrito.imprimirPatas(); /*Est en la clase mamfero*/ Clase base Las clases bases son las que possen atributos o mtodos que pueden servir a otras clases, lo cual pueden relacionarse mediante una herencia, la clase base puede heredar a otras clases sus mtodos y atributos transformando a esas clases en descendientes de ella, y pudiendo as mediante las descendientes usar mtodos y atributos de la clase base.

Clase derivada

La clase derivada heredar los miembros dato de la clase base y las funciones miembro, y tendr un miembro dato ms, el ttulo de la ventana. public class VentanaTitulo extends Ventana{ protected String titulo; public VentanaTitulo(int x, int y, int w, int h, String nombre) { super(x, y, w, h); titulo=nombre; } Extens es la palabra reservada que indica que la clase VentanaTitulo deriva, o es una subclase, de la clase Ventana. La primera sentencia del constructor de la clase derivada es una llamada al constructor de la clase base mediante la palabra reservada super La llamada super(x, y, w, h); inicializa los cuatro miembros dato de la clase base Ventana: x, y, ancho, alto. A continuacin, se inicializa los miembros dato de la clase derivada, y se realizan las tareas de inicializacin que sean necesarias. Si no se llama explcitamente al constructor de la clase base Java lo realiza por nosotros, llamando al constructor por defecto si existe.

Clases abstractas
Una clase que declara la existencia de mtodos pero no la implementacin de dichos mtodos (o sea, las llaves { } y las sentencias entre ellas), se considera una clase abstracta. Una clase abstracta puede contener mtodos no-abstractos pero al menos uno de los mtodos debe ser declarado abstracto. Para declarar una clase o un mtodo como abstractos, se utiliza la palabra reservada abstract. abstract class Drawing

{ abstract void miMetodo(int var1, int var2); String miOtroMetodo( ){ ... } } Una clase abstracta no se puede instanciar pero si se puede heredar y las clases hijas sern las encargadas de agregar la funcionalidad a los mtodos abstractos. Si no lo hacen as, las clases hijas deben ser tambin abstractas.

Herencia mltiple hace referencia a la caracterstica de los lenguajes de programacin orientada a objetos en la que una clase puede heredar comportamientos y caractersticas de ms de una superclase. Esto contrasta con la herencia simple, donde una clase slo puede heredar de una superclase. Lenguajes que soportan herencia mltiple en su mayor parte son: C++, Centura SQL Windows, CLOS, Eiffel, Object REXX, Perl y Python. La herencia mltiple permite a una clase tomar funcionalidades de otras clases, como permitir a una clase llamada MusicoEstudiante heredar de una clase llamada Persona, una clase llamada Msico, y una clase llamada Trabajador. Esto puede ser abreviado como MusicoEstudiante : Persona, Msico, Trabajador.

Clases Genricas (Plantillas) Las clases genricas encapsulan operaciones que no son especficas de un tipo de datos concreto. El uso ms comn de las clases genricas se da con las colecciones, como listas vinculadas, tablas hash, pilas, colas, rboles, etc., en las que las operaciones tales como agregar y quitar elementos de la coleccin se realizan de forma similar independientemente del tipo de datos que se almacena. Normalmente, para crear clases genricas se empieza a partir de una clase concreta existente y se cambian los tipos, uno a uno, por parmetros de tipo hasta que se obtiene un equilibrio ptimo entre generalizacin y utilidad. Al crear sus propias clases genricas, se deben tener en cuenta las siguientes consideraciones importantes: Tipos que se generalizan como parmetros de tipo.

Como regla general, cuantos ms tipos se puedan parametrizar, ms flexible y reutilizable ser el cdigo. Sin embargo, un exceso de generalizacin puede producir cdigo difcil de leer y comprender para otros programadores. Una buena regla consiste en aplicar las restricciones mximas posibles que sigan permitiendo controlar los tipos que es necesario controlar. Por ejemplo, si sabe que la clase genrica est exclusivamente destinada al uso con tipos de referencia, aplique una restriccin de clase. Esto evitar el uso imprevisto de la clase con tipos de valor y permitir utilizar el operador as en T y comprobar si hay valores nulos. Factorizar o no el comportamiento genrico en las clases base y las subclases. Dado que las clases genricas pueden actuar como clases base, se aplican las mismas consideraciones de diseo que con las clases no genricas. Vea ms adelante las reglas para la herencia de clases base genricas. Implementar o no una o varias interfaces genricas.

Archivo binario Es un archivo informtico que contiene informacin de cualquier tipo codificada en binario para el propsito de almacenamiento y procesamiento en ordenadores. Por ejemplo los archivos informticos que almacenan texto formateado o fotografas, as como los archivos ejecutables que contienen programas. Muchos formatos binarios contienen partes que pueden ser interpretados como texto. Un archivo binario que slo contiene informacin de tipo textual sin informacin sobre el formato del mismo se dice que es un archivo de texto plano. Habitualmente se contraponen los trminos 'archivo binario' y 'archivo de texto' de forma que los primeros no contienen solamente texto.

Archivo de texto llano, texto simple, texto plano, texto sencillo o texto pelado (en ingls plain text) es un archivo informtico compuesto nicamente por texto sin formato, slo caracteres, lo que lo hace tambin legible por humanos. Estos caracteres se pueden codificar de distintos modos dependiendo de la lengua usada. Algunos de los sistemas de codificacin ms usados son: ASCII, ISO-8859-1 o Latn-1 y UTF-8. Carecen de informacin destinada a generar formatos (negritas, subrayado, cursivas, tamao, etc.) y tipos de letra (por ejemplo, Arial, Times, Courier, etc.). El trmino texto llano proviene de una traduccin literal del trmino ingls plain text, trmino que en lengua castellana significa texto simple o texto sencillo. Las aplicaciones destinadas a la escritura y modificacin de archivos de texto se llaman editores de texto.

MANEJO DE EXCEPCIONES EN JAVA El manejo de excepciones es una estructura de control de los lenguajes de programacin diseada para manejar condiciones anormales que pueden ser tratadas por el mismo programa que se desarrolla. Por ejemplo, un programa puede admitir cierto nmero de errores en el formato de los datos y continuar su proceso para producir el mejor resultado posible en lugar de producir una salida aparatosa llena de mensajes de error probablemente incomprensibles para el usuario. Muchas veces la accin asociada a una excepcin es simplemente producir un mensaje informativo y terminar, otras veces, es slo indicacin de la necesidad de un cambio en la estrategia de resolucin del problema. Ejemplo de manejo de excepcin en Java:

import java.io.IOException; // ... public static void main(String[] args) { try { // Se ejecuta algo que puede producir una excepcin } catch (IOException e) { // manejo de una excepcin de entrada/salida } catch (Exception e) { // manejo de una excepcin cualquiera } finally { // cdigo a ejecutar haya o no excepcin } } [5]. A continuacin se muestra cmo se utilizan las excepciones, reconvirtiendo en primer lugar el applet de saludo a partir de la versin iterativa de HolaIte.java: import java.awt.*; import java.applet.Applet; public class HolaIte extends Applet { private int i = 0; private String Saludos[] = { "Hola Mundo!", "HOLA Mundo!", "HOLA MUNDO!!" }; public void paint( Graphics g ) { g.drawString( Saludos[i],25,25 ); i++; } }

You might also like