Está en la página 1de 2

Composicin

La composicin es una forma de reutilizacin del software, en donde una clase tiene como miembros referencias a objetos de otras clases.

Una clase puede tener referencias a objetos de otras clases como miembros. A dicha capacidad se le conoce como composicin y algunas veces como relacin tiene un .

Ejemplo: TarjetaEstudiante tiene un Estudiante


class Estudiante { // Atributos prvate String nombre; private Sting email; //Constructor public Estudiante( ) { nombre = Sin Asignar; email = Sin Asignar; } //Devuelve el email del estudiante public String getEmail( ) { return email; } //Devuelve el nombre del estudiante Pubic String getNombre( ) { return nombre; } //Asigna el email del estudiante pubic void setEmail(String direccion ) { email = direccin; } //Asigna el nombre del esudiante public void setNombre(String nombreEstudiante) { nombre = nombreEstudiante; } }

class TarjetaEstudiante { prvate Estudiante owner; //Estudiante dueo de esta tarjeta prvate int numPrestamos; //Cantidad de libros prestados //Constructor public TargetaEstudiante( ) { owner = null; numPrestamos = 0; } //El estudiante coge prestada una cantidad de libros public void cogerPrestado(int numLibros) { numPrestamos = numPrestamos + numLibros; } //Devuelve la cantidad de libros prestados al estudiante public int getNumPrestamos( ) { return numPrestamos; } //Devuelve el nombre del dueo de la tarjeta public String getNombreDueo( ) { return owner.getNombre( ); } //Asigna el dueo de la tarjeta public void setDueo(Estudiante estudiante) { owner = estudiante; } //Devuelve la representacin en formato String de la tarjeta public String toString( ) { return Nombre Estudiante: + owner.getNombre; Email: + owner.getEmail; Libros Prestados: + numPrestamos; } } public class Bibliotecario{ public static void main (String[] args) { Estudiante estudiante; TarjetaEstudiante tarjeta1, tarjeta2; estudiante = new Estudiante( ); estudiante.setNombre(Jon Java); estudiante.setEmail(jj@javauniv.edu); tarjeta1 = new TarjetaEstudiante( ); tarjeta1.setDueo(estudiante); tarjeta1.cogerPrestado(3); tarjeta2 = new TarjetaEstudiante( ); tarjeta2.setDueo(estudiante); System.out.println(Informacin de la tarjeta1:); System.out.println(tarjeta1.toString() + \n); System.out.println(Informacin de la tarjeta2:); System.out.println(tarjeta2.toString() + \n); } }

También podría gustarte