[ Foro de C# ]

Ejercicio Objetos6.2

13-May-2012 19:49
Jose Mª Rial
2 Respuestas

Crear una clase llamada Persona, en el fichero "persona.cs". Esta clase deberá tener un atributo "nombre", de tipo string. También deberá tener un método "SetNombre", de tipo void y con un parámetro string, que permita cambiar el valor del nombre. Finalmente, también tendrá un método "Saludar", que escribirá en pantalla "Hola, soy " seguido de su nombre. Crear también una clase llamada PruebaPersona, en el fichero "pruebaPersona.cs". Esta clase deberá contener sólo la función Main, que creará dos objetos de tipo Persona, les asignará un nombre y les pedirá que saluden.

En el siguiente ejercicio no se lo que he hecho mal
espero me puedan ayudar


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace persona
{
    public class Persona
    {
        string nombre;

        public void SetNombre(string NuevoNombre)
        {
            Console.WriteLine("Introduzca nuevo nombre: ");
            Console.ReadLine();
        }
        public void saludar()
        {
            Console.WriteLine("Hola soy {0}",nombre);
        }
    }

        public class PruebaPersona
        {
            public static void Main()
            {
                Persona p=new Persona();


                p.SetNombre();
                p.saludar();

            }
        }
}



13-May-2012 20:00
Jose Mª Rial

esta solucionado era asi


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace persona
{
    public class Persona
    {
        string nombre;

        public void SetNombre()
        {
            Console.WriteLine("Introduzca nuevo nombre: ");
            nombre=Console.ReadLine(); //faltaba nombrar lo escrito
        }
        public void saludar()
        {
            Console.WriteLine("Hola soy {0}",nombre);
        }
    }

        public class PruebaPersona
        {
            public static void Main()
            {
                Persona p=new Persona();

                p.SetNombre();
                p.saludar();
                
            }
        }
}



14-May-2012 19:52
Nacho Cabanes (+84)

Cuidado, Jose Mª. Normalmente, cuando se habla de un "Set", se espera que el valor se indique como parámetro, en vez de pedirse dentro de esa función:


using System;

namespace persona
{
    public class Persona
    {
        private string nombre;

        public void SetNombre(string nuevoNombre)
        {
            nombre = nuevoNombre;
        }

        public void Saludar()
        {
            Console.WriteLine("Hola soy {0}",nombre);
        }
    }

    public class PruebaPersona
    {
        public static void Main()
        {
            Persona p=new Persona();
            Console.WriteLine("Introduzca nuevo nombre: ");
            p.SetNombre( Console.ReadLine() );
            p.Saludar();                
        }
    }
}



(También, por convenio, los métodos (funciones) públicos se suelen escribir con la primera letra en mayúsculas).






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)