elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Top 20 herramientas Hacking más populares de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Creacion de un Constructor en un elemento de clase
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Creacion de un Constructor en un elemento de clase  (Leído 1,505 veces)
Maria Alejandra

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Creacion de un Constructor en un elemento de clase
« en: 17 Abril 2016, 19:30 pm »

segun lo que he leido:

En C# podemos definir un método que se ejecute inicialmente y en forma automática. Este método se lo llama constructor.
El constructor tiene las siguientes características:

-Tiene el mismo nombre de la clase.
-Es el primer método que se ejecuta.
-Se ejecuta en forma automática.
-No puede retornar datos.
-Se ejecuta una única vez.
-Un constructor tiene por objetivo inicializar atributos

Mi clase( es un elemento de tipo clase que esta aparte del programa main):
Código:
using System;
class Prueba
{
    private int a, b, c, r = 0;

    private void Prueba()
    {
        a = 1;
        b = 2;
        c = 3;
    }
    public void suma()
    {
        r = a + b + c;
        Console.Write(r);
    }
}

Mi Main

Código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication25
{
    class Program
    {
        static void Main(string[] args)
        {
            Prueba x = new Prueba();
            x.suma();
            Console.ReadKey();
        }
    }
}


error: 'Prueba': los nombres de los miembros no pueden coincidir con sus tipos envolventes

Si el nombre del constructor tiene que ser igual al nombre de la clase porque me da error ?



En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.708



Ver Perfil
Re: Creacion de un Constructor en un elemento de clase
« Respuesta #1 en: 17 Abril 2016, 19:54 pm »

El keyword void dentro del contexto que has mostrado se usa para definir un método que no devuelve un valor, pero un ctor es en realidad un método que devuelve (de forma abstracta) una referencia a la instancia, por lo que no debes especificar el void.

Código
  1. using System;
  2.  
  3. class Prueba {
  4.    private int a, b, c, r;
  5.  
  6.    public Prueba() {
  7.        this.a = 1;
  8.        this.b = 2;
  9.        this.c = 3;
  10.    }
  11.  
  12.    public void Suma() {
  13.        this.r = (this.a + this.b + this.c);
  14.        Console.Write(r);
  15.    }
  16.  
  17. }

EDITO: Ah, y aparte de eso, le pusiste visibilidad privada al ctor, un constructor tiene que ser visible/público si quieres instanciar la class, como ya te mencioné en el otro post (o eso creo que hice).

Saludos


« Última modificación: 17 Abril 2016, 20:00 pm por Eleкtro » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines