ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Topicos Selectos De Programacion


Enviado por   •  14 de Septiembre de 2011  •  8.541 Palabras (35 Páginas)  •  968 Visitas

Página 1 de 35

TIPOS DEFINIDOS POR EL USUARIO

1.1 AGREGACION DE DATOS (STRUCT).

Struct se puede considerar como una clase ligera. Puede contener constructores,

constantes, campos, métodos, propiedades, indicadores, operadores y tipos anidados todo

lo que una clase puede contener.

En el ejemplo siguiente, se inicializa struct con la palabra clave new, se llama al

constructor predeterminado sin parámetros y, a continuación, se establecen los miembros

de la instancia. Si quieres simular un struct en Java, simplemente lo que tienes que hacer

es definir una clase pública con todas las propiedades públicas:

public class Persona

{

public String nombre;

public String altura;

}

Lo que ocurre es que, teniendo la potencia de la programación orientada a objetos no

es recomendable definir clases así, pues las hace más sensibles a los cambios y el

acoplamiento entre clases es mayor, lo cual es algo a evitar. Es mejor definir métodos

set/get, que permiten modificar luego la estructura interna de la clase sin que cambie la

interfaz, además de garantizar que las propiedades toman valores adecuados.

public class Animal

{

private String especie;

private String altura;

public Animal(String especie,String

genero)

{

setespecie(especie);

setgenero(genero);

}

public void setespecie(String especie)

{

If (especie==null)

{

throw new

IllegalArgumentException("la especie

no debe ser nulo");

}

else

this.especie=especie;

}

public String getespecie()

{

return especie:

}

public void setaltura(String altura)

{

If (altura>=0)

throw new

IllegalArgumentException("La altura debe ser

positiva: "+altura);

else

this.altura=altura;

public int getAltura()

{

return altura;

}

}

}

Ingenieria en Sistemas Computacionales Topicos Selectos de Programacion

Pag: 6

Las clases set/get son mejores que los struct

// IDL

struct Date

{

short year;

short month; // 1-12

short day; // 1-31

};

// Java

final public class Date

implements org.omg.CORBA.portable.IDLEntity

{

public short year;

public short month;

public short day;

public Date() {}

public Date(short year, short month,

short day)

{ ... }

}

1.1 UNION DE DATOS.

En JAVA la unión de datos se da cuando una clase a se extiende mediante la herencia

por otra clase. Un ejemplo podría ser el siguiente:

public class alumno

{

Int calificaciones;

Int horario;

}

Y la otra clase hereda la clase anterior por lo tanto asi es como se maneja las uniones

de datos.

Public class datos_alumno extends alumno

{

String direccion;

String nombre;

Int edad;

}

Ingenieria en Sistemas Computacionales Topicos Selectos de Programacion

Pag: 7

1.3 REGISTROS VARIANTES.

Un registro o record es una estructura de datos compuesta de un número fijo de

componentes de diferente tipo. Cada componente o campo de un registro se accede por

el nombre del registro y el nombre de la componente. Puede que un registro contenga

partes de su estructura que puedan variar en función de otras. Para ello se definen los

REGISTROS VARIANTES que son un tipo especial de registros discriminados en los que

la existencia de algunos campos depende del valor del discriminante.

Si el discriminante lleva un valor por defecto entonces el registro es variante durante su

ciclo de vida (es mutable), si no, el valor del discriminante se fija en su declaración y no

varía durante la vida del objeto.

Los registros variantes en cierto modo están sobrepasados por la extensión de los tipos

etiquetados, sin embargo aún son útiles en casos simples como aquellos en los que se

conocen todas las posibilidades y no se desea que alguien añada una derivación a

posteriori.

Los registros variantes son una especie de sentencia “case” dentro de un registro y son

muy útiles cuando tenemos ciertos atributos que sabemos de antemano que sólo

usaremos en ciertas situaciones.

Los registros variantes ahorran memoria, porque como sólo una de las estructuras

definidas dentro de ellos puede usarse a la vez, el compilador sólo necesita reservar

memoria para la mayor de ellas (en vez de tener que hacerlo para

todos los componentes del registro).

1.4 TIPO DE DATOS ENUMERADOS.

Las enumeraciones son eficientes porque permiten que el compilador optimice espacio de

almacenamiento y las operaciones en que se les involucra pueden realizarse

rápidamente.

EJEMPLO:

DiaSemana = (Dom, Lun, Mar, Mie, Jue, Vie, Sab);

Puesto que el compilador sabe con anticipación cuál es el número total de

valores que contendrá la enumeración, puede asignar exactamente la cantidad de bits

que se requiera para representarla, en vez de tener que usar el número total de bits que

requeriría normalmente un entero.

Las enumeraciones son seguras porque el compilador se asegura que los

programadores no puedan efectuar operaciones sin sentido.

En JAVA una enumeración es simplemente un conjunto de constantes que representan

diferentes valores.

Ingenieria en Sistemas Computacionales Topicos Selectos de Programacion

Pag: 8

Un ejemplo antiguo de cómo se utilizaba en JAVA anteriormente podría ser el siguiente:

public final int SPRING = 0;

public final int SUMMER = 1;

public final int FALL = 2;

public final int WINTER = 3;

Eso a lo largo de la evolución de JAVA a través del tiempo se puede optimizar utilizando

el siguiente formato:

enum Season { WINTER, SPRING, SUMMER,FALL }

Un enum es un nuevo tipo de clase, Puedes declarar variables de tipo enumerado y tener

comprobación de tipos en tiempo de compilación.

Cada valor declarado es una instancia de la clase enum, Los Enums son implícitamente

public, static y final y los puedes comparar mediante: equals o ==

Los tipos enums heredan de java.lang.Enum e implementan java.lang.Comparable

Ejemplo:

import

...

Descargar como (para miembros actualizados) txt (64 Kb)
Leer 34 páginas más »
Disponible sólo en Clubensayos.com