Foros del Web » Programación para mayores de 30 ;) » Java »

un objeto solo puede ser creado desde otro objeto

Estas en el tema de un objeto solo puede ser creado desde otro objeto en el foro de Java en Foros del Web. Hola como puedo crear una clase que solamente pueda ser creada desde otra clase ejemplo: tengo la clase cliente y la clase aparato no quiero ...
  #1 (permalink)  
Antiguo 24/10/2011, 20:15
 
Fecha de Ingreso: marzo-2006
Mensajes: 329
Antigüedad: 16 años, 10 meses
Puntos: 1
un objeto solo puede ser creado desde otro objeto

Hola

como puedo crear una clase que solamente pueda ser creada desde otra clase

ejemplo:

tengo la clase cliente y la clase aparato

no quiero que se pueda hacer esto desde fuera de la clase cliente:

Aparato miAparato = new Aparato();

solo quiero que se pueda crear desde dentro de la clase Cliente:

Cliente miCliente = new Cliente();
miCliente.agregarAparato();//dentro de este metodo creo un objeto Aparato y lo agrego
a una coleccion que se encuentra privada dentro de cliente

Gracias espero haber explicado bien mi problema.
  #2 (permalink)  
Antiguo 24/10/2011, 20:21
 
Fecha de Ingreso: marzo-2006
Mensajes: 329
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: un objeto solo puede ser creado desde otro objeto

creo que ya se, me respondo solo, pero si estoy mal me pueden corregir: a través de clases abstractas
  #3 (permalink)  
Antiguo 25/10/2011, 01:58
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 13 años, 8 meses
Puntos: 306
Respuesta: un objeto solo puede ser creado desde otro objeto

Tal y como lo cuentas, una clase abstract no es la solución, esto lo único que hace es que no puedas hacer un new ClaseAbstracta, ni dentro de Cliente ni fuera.

Creo que tendrás que hacerlo con una clase interna y un constructor privado, aunque no te lo puedo asegurar.

http://monillo007.blogspot.com/2008/...nernested.html

Hoy estoy un poco espeso, así que a ver si alguien se anima y lo confirma o corrige.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #4 (permalink)  
Antiguo 25/10/2011, 14:35
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 15 años
Puntos: 260
Sonrisa Respuesta: un objeto solo puede ser creado desde otro objeto

Hola,

Cita:
Iniciado por Xerelo Ver Mensaje
... Creo que tendrás que hacerlo con una clase interna y un constructor privado, aunque no te lo puedo asegurar. ...
Exactamente.

(Pero sin el constructor privado, porque no permitiría crear una instancia sino por medio de métodos privados de la clase interna, siguiendo el patrón singleton, como por ejemplo la clase Calendar, que permite obtener el singleton por medio de getInstance)

Código Java:
Ver original
  1. public class A {
  2.  
  3.   public A() {
  4.   }
  5.  
  6.   private class B {
  7.  
  8.     public B() {
  9.     }
  10.  
  11.   }
  12.  
  13. }

En ese caso solamente la clase A puede crear instancias de la clase B.

Saludos,

Etiquetas: creado, objeto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:34.