Encapsulamiento

04/05/2005 - 14:29 por Ruben | Informe spam
Buenas, mi duda es la siguiente:

Tengo una clase A en la que creo un objeto de clase B, y
en B creo otro de tipo C.

Resulta que en B tengo varios controles (combobox,
textbox etc) y me gustaria poder averiguar su contenido
desde el objeto tipo C.

Hasta ahora la unica solucion que se me ha ocurrido es
declararel objeto B como atributo de A como public
static, pero no se si esta forma es demasiado "cutre".

Os pongo algo del código a ver si me podeis dar ideas:

public class A : System.Windows.Forms.Form
{
public static B inDatos;
...

private void menuItem1_Click(object sender,
System.EventArgs e)
{
this.Hide();
inDatos = new B();
inDatos.ShowDialog(this);
this.Show();
}
}

public class B : System.Windows.Forms.Form
{
//iniciacion de todos los controles
...

private void button1_Click(object sender,
System.EventArgs e)
{
C inConf = new C();
if(inConf.ShowDialog(this)==DialogResult.OK)
Close();
}
}

public class C : System.Windows.Forms.Form
{
...

private void C_Load(object sender,System.EventArgs e)
{
//getDato() me devuelve lo que haya seleccionado
//en el combobox
this.label1.Text=A.inDatos.getDato();
}
}

Supongo que mi pregunta se puede resumir a como acceder
desde un objeto B a miembros de un objeto A...
En c++ era facil porque los objtos estaban todos en el
main, pero aqui no me aclaro muy bien.
Muchas gracias y un saludo ;)
 

Leer las respuestas

#1 Jose Luis Manners
04/05/2005 - 18:31 | Informe spam
Para acceder las propiedades de la clase madre utiliza: base.NombreMetodo

Saludos,

Jose Luis Manners, MCP
English: http://blogs.geekdojo.net/jmanners
Español: http://weblogs.golemproject.com/jmanners/

"Encuentra felicidad en tu trabajo o nunca serás feliz."
Cristóbal Colón

"Ruben" wrote in message
news:044a01c550a4$dcd4a830$
Buenas, mi duda es la siguiente:

Tengo una clase A en la que creo un objeto de clase B, y
en B creo otro de tipo C.

Resulta que en B tengo varios controles (combobox,
textbox etc) y me gustaria poder averiguar su contenido
desde el objeto tipo C.

Hasta ahora la unica solucion que se me ha ocurrido es
declararel objeto B como atributo de A como public
static, pero no se si esta forma es demasiado "cutre".

Os pongo algo del código a ver si me podeis dar ideas:

public class A : System.Windows.Forms.Form
{
public static B inDatos;
...

private void menuItem1_Click(object sender,
System.EventArgs e)
{
this.Hide();
inDatos = new B();
inDatos.ShowDialog(this);
this.Show();
}
}

public class B : System.Windows.Forms.Form
{
//iniciacion de todos los controles
...

private void button1_Click(object sender,
System.EventArgs e)
{
C inConf = new C();
if(inConf.ShowDialog(this)==DialogResult.OK)
Close();
}
}

public class C : System.Windows.Forms.Form
{
...

private void C_Load(object sender,System.EventArgs e)
{
//getDato() me devuelve lo que haya seleccionado
//en el combobox
this.label1.Text=A.inDatos.getDato();
}
}

Supongo que mi pregunta se puede resumir a como acceder
desde un objeto B a miembros de un objeto A...
En c++ era facil porque los objtos estaban todos en el
main, pero aqui no me aclaro muy bien.
Muchas gracias y un saludo ;)

Preguntas similares