OOP

12/08/2005 - 17:19 por Javier Gonzalez | Informe spam
Hola , bueno queria hacer una pregunta haber si alguien me puede sacar las
dudas.
Estoy trabajando con una estructura pura de objetos y se me da este ejemplo.
Tengo un objeto auto por ejemplo, ese objeto tiene un objeto volante digamos
que tengo dos clases y las puedo relacionar de la siguiente forma

Class Volante
{

}


Class Auto
{ ...

private Volante m_objVolante;
public Volante Volante
{
get {
if (m_objVolante == null)
{
m_objVolante = new Volante();
return m_objVolante;
}
else return m_objVolante;
}
set
{
this.m_objVolante = value;
}
}
}

Algo asi, digamos que el objeto Auto tiene un volante y si creo una instacia
de mi objeto auto y hago objAuto.Volante podria acceder a sus propiedades,
metodos, etc.

Ahora la pregunta puntual seria : cual seria la mejor forma de hacer para
"saber de que auto es este volante si es que estoy parado en el objeto
objAuto.Volante ?
Se entiende ? como puede establecer un relacion de clases pero con una
jerarquia inversa ? no se si estoy explicandome bien.
tiene algun sentido hacer esto ?

Preguntas similare

Leer las respuestas

#1 RFOG
12/08/2005 - 17:26 | Informe spam
Así a bote pronto, se me ocurre lo siguiente:

class Volante
{
private string m_modelo;
volante(string modelo_coche)
{
m_modelo=modelo_coche;
}
public string ModeloCoche
{
get


}

Y luego, cuando quieras saber a qué modelo pertenece el volante, pues lo
miras con la propiedad ModeloCoche.

En Fri, 12 Aug 2005 17:19:08 +0200, Javier Gonzalez
escribió:

Hola , bueno queria hacer una pregunta haber si alguien me puede sacar
las
dudas.
Estoy trabajando con una estructura pura de objetos y se me da este
ejemplo.
Tengo un objeto auto por ejemplo, ese objeto tiene un objeto volante
digamos
que tengo dos clases y las puedo relacionar de la siguiente forma

Class Volante
{

}


Class Auto
{ ...

private Volante m_objVolante;
public Volante Volante
{
get {
if (m_objVolante == null)
{
m_objVolante = new Volante();
return m_objVolante;
}
else return m_objVolante;
}
set
{
this.m_objVolante = value;
}
}
}

Algo asi, digamos que el objeto Auto tiene un volante y si creo una
instacia
de mi objeto auto y hago objAuto.Volante podria acceder a sus
propiedades,
metodos, etc.

Ahora la pregunta puntual seria : cual seria la mejor forma de hacer para
"saber de que auto es este volante si es que estoy parado en el objeto
objAuto.Volante ?
Se entiende ? como puede establecer un relacion de clases pero con una
jerarquia inversa ? no se si estoy explicandome bien.
tiene algun sentido hacer esto ?















Que los elefantes sean tan inteligentes y los hombres tan bestias, debe
ser debido a una cuestion de educación.
Powered by zxFortunes - It's free -
http://sourceforge.net/projects/zxfortune
Respuesta Responder a este mensaje
#2 Javier Gonzalez
12/08/2005 - 17:41 | Informe spam
Esta bien, pero no es lo que busco, lo que necesito saber es si se puede
crear un puntero o algo asi al objeto padre y cual seria la manera mas
"cientifica" de hacerlo, si tiene sentido hacerlo y porque ?
Gracias de todas maneras,

"RFOG" escribió:

Así a bote pronto, se me ocurre lo siguiente:

class Volante
{
private string m_modelo;
volante(string modelo_coche)
{
m_modelo=modelo_coche;
}
public string ModeloCoche
{
get


}

Y luego, cuando quieras saber a qué modelo pertenece el volante, pues lo
miras con la propiedad ModeloCoche.

En Fri, 12 Aug 2005 17:19:08 +0200, Javier Gonzalez
escribió:

> Hola , bueno queria hacer una pregunta haber si alguien me puede sacar
> las
> dudas.
> Estoy trabajando con una estructura pura de objetos y se me da este
> ejemplo.
> Tengo un objeto auto por ejemplo, ese objeto tiene un objeto volante
> digamos
> que tengo dos clases y las puedo relacionar de la siguiente forma
>
> Class Volante
> {
>
> }
>
>
> Class Auto
> { ...
>
> private Volante m_objVolante;
> public Volante Volante
> {
> get {
> if (m_objVolante == null)
> {
> m_objVolante = new Volante();
> return m_objVolante;
> }
> else return m_objVolante;
> }
> set
> {
> this.m_objVolante = value;
> }
> }
> }
>
> Algo asi, digamos que el objeto Auto tiene un volante y si creo una
> instacia
> de mi objeto auto y hago objAuto.Volante podria acceder a sus
> propiedades,
> metodos, etc.
>
> Ahora la pregunta puntual seria : cual seria la mejor forma de hacer para
> "saber de que auto es este volante si es que estoy parado en el objeto
> objAuto.Volante ?
> Se entiende ? como puede establecer un relacion de clases pero con una
> jerarquia inversa ? no se si estoy explicandome bien.
> tiene algun sentido hacer esto ?
>
>
>
>
>
>
>
>
>
>



Que los elefantes sean tan inteligentes y los hombres tan bestias, debe
ser debido a una cuestion de educación.
> Powered by zxFortunes - It's free -
http://sourceforge.net/projects/zxfortune

Respuesta Responder a este mensaje
#3 RFOG
12/08/2005 - 18:01 | Informe spam
En C++ puedes hacer:

class Auto;

class Volante
{
private:
Auto *pAuto;
...
}

class Auto
{
...
m_volante=new Volante(this);
...

En principio no tiene sentido tener un puntero al "pade" porque el padre
de volante no es auto. Estás dando inclusión, no herencia. Por lo tanto, o
heredas auto de volante y luego con "base" acceder al padre, que en este
caso sería volante.



En Fri, 12 Aug 2005 17:41:21 +0200, Javier Gonzalez
escribió:

Esta bien, pero no es lo que busco, lo que necesito saber es si se puede
crear un puntero o algo asi al objeto padre y cual seria la manera mas
"cientifica" de hacerlo, si tiene sentido hacerlo y porque ?
Gracias de todas maneras,

"RFOG" escribió:

Así a bote pronto, se me ocurre lo siguiente:

class Volante
{
private string m_modelo;
volante(string modelo_coche)
{
m_modelo=modelo_coche;
}
public string ModeloCoche
{
get


}

Y luego, cuando quieras saber a qué modelo pertenece el volante, pues lo
miras con la propiedad ModeloCoche.

En Fri, 12 Aug 2005 17:19:08 +0200, Javier Gonzalez
escribió:

> Hola , bueno queria hacer una pregunta haber si alguien me puede sacar
> las
> dudas.
> Estoy trabajando con una estructura pura de objetos y se me da este
> ejemplo.
> Tengo un objeto auto por ejemplo, ese objeto tiene un objeto volante
> digamos
> que tengo dos clases y las puedo relacionar de la siguiente forma
>
> Class Volante
> {
>
> }
>
>
> Class Auto
> { ...
>
> private Volante m_objVolante;
> public Volante Volante
> {
> get {
> if (m_objVolante == null)
> {
> m_objVolante = new Volante();
> return m_objVolante;
> }
> else return m_objVolante;
> }
> set
> {
> this.m_objVolante = value;
> }
> }
> }
>
> Algo asi, digamos que el objeto Auto tiene un volante y si creo una
> instacia
> de mi objeto auto y hago objAuto.Volante podria acceder a sus
> propiedades,
> metodos, etc.
>
> Ahora la pregunta puntual seria : cual seria la mejor forma de hacer
para
> "saber de que auto es este volante si es que estoy parado en el objeto
> objAuto.Volante ?
> Se entiende ? como puede establecer un relacion de clases pero con una
> jerarquia inversa ? no se si estoy explicandome bien.
> tiene algun sentido hacer esto ?
>
>
>
>
>
>
>
>
>
>



Que los elefantes sean tan inteligentes y los hombres tan bestias, debe
ser debido a una cuestion de educación.
>> Powered by zxFortunes - It's free -
http://sourceforge.net/projects/zxfortune








Que los elefantes sean tan inteligentes y los hombres tan bestias, debe
ser debido a una cuestion de educación.
Powered by zxFortunes - It's free -
http://sourceforge.net/projects/zxfortune
Respuesta Responder a este mensaje
#4 Bela Istok
12/08/2005 - 20:40 | Informe spam
El Ejemplo de RFOG, en c++ lo puedes hacer en c# de forma muy sencilla.
Class Volante
{
private Auto parent;
public Auto Parent
{
get { return parent; }
}
public Volante(Auto parent)
{
this.parent = parent;
}
}


Class Auto
{ ...

private Volante m_objVolante;
public Volante Volante
{
get {
if (m_objVolante == null)
{
m_objVolante = new Volante(this);
return m_objVolante;
}
else return m_objVolante;
}
set
{
this.m_objVolante = value;
}
}
}

Y esto es muy usado cuando tienes relaciones anidadas entre objetos, podrias
crear para todos los elementos del carro algo así:

public class AutoParts
{
private Auto parent;
public Auto Parent
{
get { return parent; }
}
public AutoParts(Auto parent)
{
this.parent = parent;
}
}
public class Volante : AutoParts
{
public Volante(Auto parent) : base(parent)
{
}
}

y así sucesivamente vas creando nuevas clases que representen las partes del
auto que deriven de AutoParts.

Saludos,

Bela Istok

"Javier Gonzalez" wrote in
message news:
Hola , bueno queria hacer una pregunta haber si alguien me puede sacar las
dudas.
Estoy trabajando con una estructura pura de objetos y se me da este
ejemplo.
Tengo un objeto auto por ejemplo, ese objeto tiene un objeto volante
digamos
que tengo dos clases y las puedo relacionar de la siguiente forma

Class Volante
{

}


Class Auto
{ ...

private Volante m_objVolante;
public Volante Volante
{
get {
if (m_objVolante == null)
{
m_objVolante = new Volante();
return m_objVolante;
}
else return m_objVolante;
}
set
{
this.m_objVolante = value;
}
}
}

Algo asi, digamos que el objeto Auto tiene un volante y si creo una
instacia
de mi objeto auto y hago objAuto.Volante podria acceder a sus propiedades,
metodos, etc.

Ahora la pregunta puntual seria : cual seria la mejor forma de hacer para
"saber de que auto es este volante si es que estoy parado en el objeto
objAuto.Volante ?
Se entiende ? como puede establecer un relacion de clases pero con una
jerarquia inversa ? no se si estoy explicandome bien.
tiene algun sentido hacer esto ?










Respuesta Responder a este mensaje
#5 Serge Valsse
14/08/2005 - 18:59 | Informe spam
Estos link pueden ser de tu interes.

Vota por ellos en la caja de panoramabox.

http://www.elguille.info/colabora/N...herencia_n
et.htm

Serge Valsse
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida