Agenda de objetos - dudas(principiante)
Publicado por Christian (1 intervención) el 18/10/2018 10:56:09
Hola a todos y todas!!
Soy nuevo programando en C# y también nuevo programando en orientación a objetos, antes había programado a un nivel muy básico en c++ y algo un poco más amplio (poco más) en php.
Estoy aprendiendo por mi cuenta c# y voy un poco liado, pero voy aclarando conceptos... Intenté hacer una agenda de objetos para practicar, recuerdo que una de las practicas donde más aprendí en c++ era hacer una agenda con funciones y con un struct, así que he querido "repetir" esa experiencia pero con clases y métodos.
El objetivo es hacer una clase persona con atributo dni, nombre y edad y crear un objeto de esa clase llamado person[x] donde x es el nombre de usuarios que se va incrementando cada vez que llamo añadir, de esa forma podría con una matriz del mismo objeto tener todos los usuarios y no hacer un objeto por persona, porque esa forma realmente no la veo para desarrollarla ¿crear un bucle que haga a su vez objetos?
Seguramente tenga conceptos mal y algunas cosas mal planteadas pero me gustaría ver si es posible lo que planteo, a pesar de que podría utilizar una estructura o hacerlo con una list, la intención es probar cosas.
public string Añadir()
{
int cant = cantidad;
cantidad++;
persona[] person = new persona[cantidad]; // creamos un objeto de arrays de 1 valor, iremos sumando cada vez que se invoca el metodo
person[cant] = new persona(); // creamos el objeto posición 0, lo invocamos para darle valores.
Console.Write("Nombre: ");
person[cant].nombre = Console.ReadLine();
Console.Write("DNI: ");
person[cant].dni = Console.ReadLine();
Console.Write("Edad: ");
person[cant].edad = int.Parse(Console.ReadLine());
return person[cant]; // no funciona.
}
Tengo este código para sumar 1 en el espacio de la memoria (array de objetos) aunque no sé si eso es correcto realizarlo ni que uso puedo darle, el caso es que le sumo uno y añado en nombre, dni y edad sus valores introducidos por el usuario, todo va bien pero no puedo hacer el return, tampoco puedo guardarlo en un atributo de la clase principal. de esta forma cuando llamo al método para consultar los datos esos datos introducidos se han volatilizado y no se quedan guardados, por eso quería guardarlos en un atributo accesible por todos o al menos hacer un return para guardarlo de esa forma.
Como veréis tengo los conceptos un poco dispersos...
¿alguna ayuda?
Soy nuevo programando en C# y también nuevo programando en orientación a objetos, antes había programado a un nivel muy básico en c++ y algo un poco más amplio (poco más) en php.
Estoy aprendiendo por mi cuenta c# y voy un poco liado, pero voy aclarando conceptos... Intenté hacer una agenda de objetos para practicar, recuerdo que una de las practicas donde más aprendí en c++ era hacer una agenda con funciones y con un struct, así que he querido "repetir" esa experiencia pero con clases y métodos.
El objetivo es hacer una clase persona con atributo dni, nombre y edad y crear un objeto de esa clase llamado person[x] donde x es el nombre de usuarios que se va incrementando cada vez que llamo añadir, de esa forma podría con una matriz del mismo objeto tener todos los usuarios y no hacer un objeto por persona, porque esa forma realmente no la veo para desarrollarla ¿crear un bucle que haga a su vez objetos?
Seguramente tenga conceptos mal y algunas cosas mal planteadas pero me gustaría ver si es posible lo que planteo, a pesar de que podría utilizar una estructura o hacerlo con una list, la intención es probar cosas.
public string Añadir()
{
int cant = cantidad;
cantidad++;
persona[] person = new persona[cantidad]; // creamos un objeto de arrays de 1 valor, iremos sumando cada vez que se invoca el metodo
person[cant] = new persona(); // creamos el objeto posición 0, lo invocamos para darle valores.
Console.Write("Nombre: ");
person[cant].nombre = Console.ReadLine();
Console.Write("DNI: ");
person[cant].dni = Console.ReadLine();
Console.Write("Edad: ");
person[cant].edad = int.Parse(Console.ReadLine());
return person[cant]; // no funciona.
}
Tengo este código para sumar 1 en el espacio de la memoria (array de objetos) aunque no sé si eso es correcto realizarlo ni que uso puedo darle, el caso es que le sumo uno y añado en nombre, dni y edad sus valores introducidos por el usuario, todo va bien pero no puedo hacer el return, tampoco puedo guardarlo en un atributo de la clase principal. de esta forma cuando llamo al método para consultar los datos esos datos introducidos se han volatilizado y no se quedan guardados, por eso quería guardarlos en un atributo accesible por todos o al menos hacer un return para guardarlo de esa forma.
Como veréis tengo los conceptos un poco dispersos...
¿alguna ayuda?
Valora esta pregunta


0