Autor
|
Tema: Problemas con clase,objetos y propiedades (Leído 2,876 veces)
|
DanielPy
Desconectado
Mensajes: 145
|
Hola a todos. Bueno no puedo descubrir por mi mismo que estoy haciendo mal,el programa no me arroja ningún error pero no me imprime los datos que están guardados en la propiedades de la clase Datos.- Yo consideraba que con crear un objeto en la clase imprimir de la clase Datos lo podía hacer pero evidentemente algo estoy haciendo mal.- using System;
namespace Propiedades { class ProgramaAPP { public static void Main(string[] args) { Entorno entorno = new Entorno(); Datos DatosCte = new Datos(); Imprimir ImprimieCte = new Imprimir();
entorno._Entorno(); DatosCte.datos(); ImprimieCte._Imprimir(); } } } using System;
namespace Propiedades { public class Datos { public string Nombre { get; set; }
public double Sueldo { get; set; }
public void datos() { Datos dtos = new Datos(); string lineas = ""; do { Console.SetCursorPosition(02,02); Console.Write("Ingrese nombre completo....:"); lineas = Console.ReadLine(); }while(string.IsNullOrEmpty(lineas)); dtos.Nombre = lineas; bool resultado; double temSueldo; while(true) { Console.SetCursorPosition(02,04); Console.Write("Ingrese el sueldo mensual..:"); resultado = double.TryParse(Console.ReadLine(), out temSueldo); if(resultado && temSueldo != 0) { break; } } dtos.Sueldo = temSueldo; } } } using System;
namespace Propiedades { public class Imprimir { public void _Imprimir() { Datos idc = new Datos(); Console.SetCursorPosition(02,08); Console.Write("El cliente se llama...: {0} y gana mensualmente...$ {1}" , idc.Nombre,idc.Sueldo); Console.SetCursorPosition(02,10); Console.Write("Presione una tecla para cerrar la aplicación..."); Console.ReadKey();
} } } using System;
namespace Propiedades { public class Entorno { public void _Entorno() { Console.Title = " Práctica con propiedades"; } } } Estoy para el cachetazo psicológico, porque me suena que estoy cometiendo un error infantil.- Novlucker como notaras implemente las propiedades automáticas.- Saludos y desde ya muchas gracias.- Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Al hacer un NEW, estas creando una NUEVA instancia de clase, no es lo mismo la instancia que creas dentro del Main, que la que creas dentro de Imprimir, por eso al Imprimir, muestra los valores vacíos, porque esa clase no tiene nada asignado, deberías de pasar la instancia de Datos como referencia a Imprimir.
Igualmente no va a mostrar nada, porque adicionalmente a lo anterior, tienes otro problema. Tu clase Datos no está guardando los valores de Nombre y Sueldo, porque dentro de Datos creas una NUEVA instancia, en la cual estas seteando los valores, no estás seteando los valores de sus propiedades, estás seteando los de otra, así que sigue estando vacía.
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
DanielPy
Desconectado
Mensajes: 145
|
Hola Novlucker. Gracias igual, soy un recién iniciado en c# y lo que necesito es algo de código para aprender y no sólo explicaciones que si bien tienen sustento no me ayudan.- Comprendo que no tenes la culpa que yo tenga 61 años y como sospecharas mis conocidos no tienen ni idea de lo que es la computación-programación (nací en 1952) lo que pido es un poco de comprensión y paciencia para enseñarme no como si fuera un alumno si no como si fueran mis amigos.- Gracias igual, seguramente ya estare encontrando ese foro.- Daniel
|
|
|
En línea
|
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Al hacer un NEW, estas creando una NUEVA instancia de clase, no es lo mismo la instancia que creas dentro del Main, que la que creas dentro de Imprimir, por eso al Imprimir, muestra los valores vacíos, porque esa clase no tiene nada asignado, deberías de pasar la instancia de Datos como referencia a Imprimir. static void Main(string[] args) { Entorno entorno = new Entorno (); Datos DatosCte = new Datos (); Imprimir ImprimieCte = new Imprimir (); entorno._Entorno(); DatosCte.datos(); ImprimieCte._Imprimir(DatosCte); }
public class Imprimir { public void _Imprimir(Datos idc) { //Datos idc = new Datos(); Console.SetCursorPosition(02, 08); Console.Write("El cliente se llama...: {0} y gana mensualmente...$ {1}", idc.Nombre, idc.Sueldo); Console.SetCursorPosition(02, 10); Console.Write("Presione una tecla para cerrar la aplicación..."); Console.ReadKey(); } }
Igualmente no va a mostrar nada, porque adicionalmente a lo anterior, tienes otro problema. Tu clase Datos no está guardando los valores de Nombre y Sueldo, porque dentro de Datos creas una NUEVA instancia, en la cual estas seteando los valores, no estás seteando los valores de sus propiedades, estás seteando los de otra, así que sigue estando vacía. public class Datos { public string Nombre { get; set; } public double Sueldo { get; set; } public void datos() { //Datos dtos = new Datos(); string lineas = ""; do { Console.SetCursorPosition(02, 02); Console.Write("Ingrese nombre completo....:"); lineas = Console.ReadLine(); } while (string.IsNullOrEmpty(lineas)); Nombre = lineas; bool resultado; double temSueldo; while (true) { Console.SetCursorPosition(02, 04); Console.Write("Ingrese el sueldo mensual..:"); resultado = double.TryParse(Console.ReadLine(), out temSueldo); if (resultado && temSueldo != 0) { break; } } Sueldo = temSueldo; } }
Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Contar objetos creados de una clase
« 1 2 »
Java
|
alexis33de
|
15
|
24,812
|
9 Abril 2015, 02:22 am
por Usuario Invitado
|
|
|
Como puedo cambiar propiedades de objetos en tiempo de ejecucion leyendo un txt.
Programación Visual Basic
|
3m1
|
1
|
4,368
|
15 Febrero 2011, 14:47 pm
por 79137913
|
|
|
Clase interna, acceder a objetos
Java
|
ltbl
|
1
|
4,563
|
6 Marzo 2011, 00:03 am
por sapito169
|
|
|
Problemas al definir una clase (Windows, GCC)
Programación C/C++
|
Chains
|
2
|
2,107
|
22 Agosto 2013, 19:53 pm
por Chains
|
|
|
Clase y propiedades con Webbrowser
.NET (C#, VB.NET, ASP)
|
Lekim
|
0
|
1,911
|
29 Noviembre 2015, 14:25 pm
por Lekim
|
|