Propiedad

14/06/2004 - 19:05 por hugo | Informe spam
Hola foro:

Soy programador en visula basic.
Estoy intentando aprender visual c++, del cual no se nada,
nada.
En visual vasci se puede escribir un procedimiento de
propiedad Propertu get NombrePropiedad para leer
y property let NombrePropiedad para escribir.
Estuve leyendo en un libro de visual c++ sobre funciones.
Pero no he encontrado nada sobre propiedades.
Alguien podria darme una mano

Gracias y hasta luego

Preguntas similare

Leer las respuestas

#6 Sebastián Flores
16/06/2004 - 19:34 | Informe spam
No se duplica nada, la propiedad es una sola.
Y como ya te explique antes, vb lo hace de manera implícita.
Si no queres duplicar funciones, lo que podes hacer en el caso anterior es
aplicar sobrecarga:

void Alto(int *alto) { //con referencia haces un get (lado derecho en vb)
*alto = m_alto;
}
void Alto(int alto) { //sin referencia haces un set (lado izquierdo en vb)
m_alto = alto;
}
Y ahora tenes la 'misma' funcion para las 2 cosas.

Ahora bien si eso tampoco te gusta, ya tendrias que intentar buscar la
solucion sobrecargando operadores.


Respecto a tu pregunta de .NET, (IMHO) si lo que queres son cosas fáciles
(lenguajes de alto nivel) segui con VB o incursioná en VB.NET, c++ no va a
cambiar demasiado porque es un 'standar' y porque es de bajo nivel... por
eso no existe el Visual Asembler :)).

Un abrazo
Sebastián.

"hugo" wrote in message
news:1c41801c4524f$6950e620$
A lo que me referia es que hay que hacer una funcion para
escribir el valor y otra para leerlo.
PutXXX y Getxxx.
Me mparece mas comodo que sea una sola propiedad que se
llame con el mismo nombre, sea para escribir o para leer.
De la otra forma para el nombre de un cliente necesito
escribir una funcion PutNombre y otra GetNombre.
POr lo tanto el objeto cliente tendria Cliente.PutNombre
Y Cliente.GetNombre.
Me parece mas comodo que siempre se llame a la propiedad
Nombre como Cliente.Nombre ="nnn" para escribir y
Variable = Cliente.Nombre para leer.
POr lo menos eso es lo que entendi, porque como dije antes
soy totalmente nuevo en vc.
Gracias y hasta luego


No se donde se produce la duplicidad de código. Podrias


explicarlo?


Un saludo
Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net


.

Respuesta Responder a este mensaje
#7 Hugo
17/06/2004 - 00:13 | Informe spam
Si, esa solucion me parece buena.
En ningun momento dije que se dupica el codigo, ni
siquiera que hay que escribir mas o menos.
Incluso en visual basic 6 se escriben dos procedimientos
distintos, un Property Get para leer y un Property Let
para escribir (si fuera un objeto, Property Set).
Lo que digo es que al escribir (por poner un
ejemplo) "cliente." en el entorno de desarrollo, este
mostraria el doble de elementos, uno para get y otro para
put, mas alla de que sea una sola variable privada en
donde se guarda el valor (digo privada por lo del
encapsulado).
Entonces como se lee el valor de esa variable con una
funcion getxxx y se escribe con putxxx son dos elementos
que se ven en la interface del objeto.
La interface del objeto pasa a tener una funcion para
escribir y otra para leer (la misma variable esta claro),
mientras en vb se utiliza un solo nombre de propiedad,
escribo dos procedimientos de propiedad pero el entorno
muestra una sola ya que se tienen el mismo nombre. Algunos
diran que lo maneja internamente, bueno barbaro, pero me
gusta mas, se ve mas prolijo.
Gracias por la solucion proporcionada, y hasta luego



No se duplica nada, la propiedad es una sola.
Y como ya te explique antes, vb lo hace de manera


implícita.
Si no queres duplicar funciones, lo que podes hacer en el


caso anterior es
aplicar sobrecarga:

void Alto(int *alto) { //con referencia haces un get


(lado derecho en vb)
*alto = m_alto;
}
void Alto(int alto) { //sin referencia haces un set (lado


izquierdo en vb)
m_alto = alto;
}
Y ahora tenes la 'misma' funcion para las 2 cosas.

Ahora bien si eso tampoco te gusta, ya tendrias que


intentar buscar la
solucion sobrecargando operadores.


Respecto a tu pregunta de .NET, (IMHO) si lo que queres


son cosas fáciles
(lenguajes de alto nivel) segui con VB o incursioná en


VB.NET, c++ no va a
cambiar demasiado porque es un 'standar' y porque es de


bajo nivel... por
eso no existe el Visual Asembler :)).

Un abrazo
Sebastián.

"hugo" wrote in


message
news:1c41801c4524f$6950e620$
A lo que me referia es que hay que hacer una funcion para
escribir el valor y otra para leerlo.
PutXXX y Getxxx.
Me mparece mas comodo que sea una sola propiedad que se
llame con el mismo nombre, sea para escribir o para leer.
De la otra forma para el nombre de un cliente necesito
escribir una funcion PutNombre y otra GetNombre.
POr lo tanto el objeto cliente tendria Cliente.PutNombre
Y Cliente.GetNombre.
Me parece mas comodo que siempre se llame a la propiedad
Nombre como Cliente.Nombre ="nnn" para escribir y
Variable = Cliente.Nombre para leer.
POr lo menos eso es lo que entendi, porque como dije antes
soy totalmente nuevo en vc.
Gracias y hasta luego


No se donde se produce la duplicidad de código. Podrias


explicarlo?


Un saludo
Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net


.





.

Respuesta Responder a este mensaje
#8 Alejandro
17/06/2004 - 19:48 | Informe spam
Hola:

He programado un buen tiempo en vc y vb, aunque en la
actualidad estoy aprendiendo .Net.
La observación sobre las propiedades es aceptable.
Visual C++ es un lenguage de bajo nivel, pero no porque no
soporte propiedades al estilo vb, sino por otros motivos.
Si permitiera escribir propiedades no dejaria de ser de
bajo nivel.
Cuando una nueva versión de cualquier lenguage sale a la
calle aparecen articulos explicando las nuevas
prestaciones que tiene. Si Vc trajera en una futura
version la posibilidad de escribir propiedades muchos
leeriamos esos articulos y pensariamos "que buena mejora".
En cuanto a que es un estandar, eso no implica que no
pudiera tener propiedades ya que solo se estaria agregando
funcionalidad, se podria seguir escribiendo funciones como
en la actualidad ( y como se puede vb6 y vb.net).
En cuanto a que no existe visual asembler, creo que es una
respuesta ironica de mal gusto. Si existe Visual C++.
No me parece mal que un usuario de visual basic haga este
tipo de observaciones, eso no implica que quiera cosas
faciles. Esta es mi humilde opinion gracias a todos.


No se duplica nada, la propiedad es una sola.
Y como ya te explique antes, vb lo hace de manera


implícita.
Si no queres duplicar funciones, lo que podes hacer en el


caso anterior es
aplicar sobrecarga:

void Alto(int *alto) { //con referencia haces un get


(lado derecho en vb)
*alto = m_alto;
}
void Alto(int alto) { //sin referencia haces un set (lado


izquierdo en vb)
m_alto = alto;
}
Y ahora tenes la 'misma' funcion para las 2 cosas.

Ahora bien si eso tampoco te gusta, ya tendrias que


intentar buscar la
solucion sobrecargando operadores.


Respecto a tu pregunta de .NET, (IMHO) si lo que queres


son cosas fáciles
(lenguajes de alto nivel) segui con VB o incursioná en


VB.NET, c++ no va a
cambiar demasiado porque es un 'standar' y porque es de


bajo nivel... por
eso no existe el Visual Asembler :)).

Un abrazo
Sebastián.

"hugo" wrote in


message
news:1c41801c4524f$6950e620$
A lo que me referia es que hay que hacer una funcion para
escribir el valor y otra para leerlo.
PutXXX y Getxxx.
Me mparece mas comodo que sea una sola propiedad que se
llame con el mismo nombre, sea para escribir o para leer.
De la otra forma para el nombre de un cliente necesito
escribir una funcion PutNombre y otra GetNombre.
POr lo tanto el objeto cliente tendria Cliente.PutNombre
Y Cliente.GetNombre.
Me parece mas comodo que siempre se llame a la propiedad
Nombre como Cliente.Nombre ="nnn" para escribir y
Variable = Cliente.Nombre para leer.
POr lo menos eso es lo que entendi, porque como dije antes
soy totalmente nuevo en vc.
Gracias y hasta luego


No se donde se produce la duplicidad de código. Podrias


explicarlo?


Un saludo
Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net


.





.

Respuesta Responder a este mensaje
#9 Sebastián Flores
18/06/2004 - 18:35 | Informe spam
Me parece barbaro tu punto de vista.
En cuanto a lo del 'chascarillo' de v assembler no era para generar una
polemica, pero creo, en mi humilde opinion que los limites estan
perfectamente marcados entre c++, y visual vb, (no digo vc++, porque no es
necesario una aplicacion visual para desarrollar, es mas, hasta cierto punto
es portable a diferentes plataformas)
Es por esto, y por ahi he pecado de riguroso, que no concibo el traspaso
vb->vc++ sin conocer ese limite, es como decir que porque en programacion
funcional no existen los arreglos.

Saludos, y disculpas si ofendi a alguien.

"Alejandro" wrote in message
news:1df3501c45493$5e2e39f0$
Hola:

He programado un buen tiempo en vc y vb, aunque en la
actualidad estoy aprendiendo .Net.
La observación sobre las propiedades es aceptable.
Visual C++ es un lenguage de bajo nivel, pero no porque no
soporte propiedades al estilo vb, sino por otros motivos.
Si permitiera escribir propiedades no dejaria de ser de
bajo nivel.
Cuando una nueva versión de cualquier lenguage sale a la
calle aparecen articulos explicando las nuevas
prestaciones que tiene. Si Vc trajera en una futura
version la posibilidad de escribir propiedades muchos
leeriamos esos articulos y pensariamos "que buena mejora".
En cuanto a que es un estandar, eso no implica que no
pudiera tener propiedades ya que solo se estaria agregando
funcionalidad, se podria seguir escribiendo funciones como
en la actualidad ( y como se puede vb6 y vb.net).
En cuanto a que no existe visual asembler, creo que es una
respuesta ironica de mal gusto. Si existe Visual C++.
No me parece mal que un usuario de visual basic haga este
tipo de observaciones, eso no implica que quiera cosas
faciles. Esta es mi humilde opinion gracias a todos.


No se duplica nada, la propiedad es una sola.
Y como ya te explique antes, vb lo hace de manera


implícita.
Si no queres duplicar funciones, lo que podes hacer en el


caso anterior es
aplicar sobrecarga:

void Alto(int *alto) { //con referencia haces un get


(lado derecho en vb)
*alto = m_alto;
}
void Alto(int alto) { //sin referencia haces un set (lado


izquierdo en vb)
m_alto = alto;
}
Y ahora tenes la 'misma' funcion para las 2 cosas.

Ahora bien si eso tampoco te gusta, ya tendrias que


intentar buscar la
solucion sobrecargando operadores.


Respecto a tu pregunta de .NET, (IMHO) si lo que queres


son cosas fáciles
(lenguajes de alto nivel) segui con VB o incursioná en


VB.NET, c++ no va a
cambiar demasiado porque es un 'standar' y porque es de


bajo nivel... por
eso no existe el Visual Asembler :)).

Un abrazo
Sebastián.

"hugo" wrote in


message
news:1c41801c4524f$6950e620$
A lo que me referia es que hay que hacer una funcion para
escribir el valor y otra para leerlo.
PutXXX y Getxxx.
Me mparece mas comodo que sea una sola propiedad que se
llame con el mismo nombre, sea para escribir o para leer.
De la otra forma para el nombre de un cliente necesito
escribir una funcion PutNombre y otra GetNombre.
POr lo tanto el objeto cliente tendria Cliente.PutNombre
Y Cliente.GetNombre.
Me parece mas comodo que siempre se llame a la propiedad
Nombre como Cliente.Nombre ="nnn" para escribir y
Variable = Cliente.Nombre para leer.
POr lo menos eso es lo que entendi, porque como dije antes
soy totalmente nuevo en vc.
Gracias y hasta luego


No se donde se produce la duplicidad de código. Podrias


explicarlo?


Un saludo
Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net


.





.

Respuesta Responder a este mensaje
#10 Alejandro
19/06/2004 - 16:24 | Informe spam
Hola:

OK. Me parece muy aceptable lo de la portabilidad. En ese
sentido realmente es beneficioso que se mantenga asi.

Saludos


Me parece barbaro tu punto de vista.
En cuanto a lo del 'chascarillo' de v assembler no era


para generar una
polemica, pero creo, en mi humilde opinion que los


limites estan
perfectamente marcados entre c++, y visual vb, (no digo


vc++, porque no es
necesario una aplicacion visual para desarrollar, es mas,


hasta cierto punto
es portable a diferentes plataformas)
Es por esto, y por ahi he pecado de riguroso, que no


concibo el traspaso
vb->vc++ sin conocer ese limite, es como decir que porque


en programacion
funcional no existen los arreglos.

Saludos, y disculpas si ofendi a alguien.

"Alejandro" wrote in message
news:1df3501c45493$5e2e39f0$
Hola:

He programado un buen tiempo en vc y vb, aunque en la
actualidad estoy aprendiendo .Net.
La observación sobre las propiedades es aceptable.
Visual C++ es un lenguage de bajo nivel, pero no porque no
soporte propiedades al estilo vb, sino por otros motivos.
Si permitiera escribir propiedades no dejaria de ser de
bajo nivel.
Cuando una nueva versión de cualquier lenguage sale a la
calle aparecen articulos explicando las nuevas
prestaciones que tiene. Si Vc trajera en una futura
version la posibilidad de escribir propiedades muchos
leeriamos esos articulos y pensariamos "que buena mejora".
En cuanto a que es un estandar, eso no implica que no
pudiera tener propiedades ya que solo se estaria agregando
funcionalidad, se podria seguir escribiendo funciones como
en la actualidad ( y como se puede vb6 y vb.net).
En cuanto a que no existe visual asembler, creo que es una
respuesta ironica de mal gusto. Si existe Visual C++.
No me parece mal que un usuario de visual basic haga este
tipo de observaciones, eso no implica que quiera cosas
faciles. Esta es mi humilde opinion gracias a todos.


No se duplica nada, la propiedad es una sola.
Y como ya te explique antes, vb lo hace de manera


implícita.
Si no queres duplicar funciones, lo que podes hacer en el


caso anterior es
aplicar sobrecarga:

void Alto(int *alto) { //con referencia haces un get


(lado derecho en vb)
*alto = m_alto;
}
void Alto(int alto) { //sin referencia haces un set (lado


izquierdo en vb)
m_alto = alto;
}
Y ahora tenes la 'misma' funcion para las 2 cosas.

Ahora bien si eso tampoco te gusta, ya tendrias que


intentar buscar la
solucion sobrecargando operadores.


Respecto a tu pregunta de .NET, (IMHO) si lo que queres


son cosas fáciles
(lenguajes de alto nivel) segui con VB o incursioná en


VB.NET, c++ no va a
cambiar demasiado porque es un 'standar' y porque es de


bajo nivel... por
eso no existe el Visual Asembler :)).

Un abrazo
Sebastián.

"hugo" wrote in


message
news:1c41801c4524f$6950e620$
A lo que me referia es que hay que hacer una funcion para
escribir el valor y otra para leerlo.
PutXXX y Getxxx.
Me mparece mas comodo que sea una sola propiedad que se
llame con el mismo nombre, sea para escribir o para leer.
De la otra forma para el nombre de un cliente necesito
escribir una funcion PutNombre y otra GetNombre.
POr lo tanto el objeto cliente tendria Cliente.PutNombre
Y Cliente.GetNombre.
Me parece mas comodo que siempre se llame a la propiedad
Nombre como Cliente.Nombre ="nnn" para escribir y
Variable = Cliente.Nombre para leer.
POr lo menos eso es lo que entendi, porque como dije




antes
soy totalmente nuevo en vc.
Gracias y hasta luego


No se donde se produce la duplicidad de código. Podrias


explicarlo?


Un saludo
Rodrigo Corral González [MVP]

microsoft.public.es.vc FAQ
http://vcfaq.europe.webmatrixhosting.net


.





.





.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida