C# constructor hakk...
 
Bildirimler
Hepsini Temizle

C# constructor hakkında bir soru  

  RSS
Esma ORUC
(@EsmaORUC)
Üye

Sorum aşağıda ?? ile yorum yaptım. Kodun o kısmını anlatabilirseniz çok sevinirim .

    class Employee

    {

        private string empName;

        private int empID;

        private float currPay;

        private int empAge;

        private string empSSN;

        private static string companyName;

        public Employee() { }

        public Employee(string name, int id, float pay)

            : this(name, 0, id, pay, "") { }                 // *???? burda ne yaptığını bana anlatabilir misiniz ?

        public Employee(string name, int age, int id, float pay, string ssn)

        {

            // Better!  Use properties when setting class data.

            // This reduces the amount of duplicate error checks.

            Name = name;

            Age = age;

            ID = id;

            Pay = pay;

            SocialSecurityNumber = ssn;

        }

        public static string Company

        {

            get { return companyName; }

            set { companyName = value; }

        }

        public string Name

        {

            get { return empName; }

            set

            {

                // Here, value is really a string.

                if (value.Length > 15)

                    Console.WriteLine("Error!  Name must be less than 16 characters!");

                else

                    empName = value;

            }

        }

        public int ID

        {

            get { return empID; }

            set { empID = value; }

        }

     

        public int Age

        {

            get { return empAge; }

            set { empAge = value; }

        }

        public string SocialSecurityNumber

        {

            get { return empSSN; }

            set { empSSN = value; }

        }

        public float Pay

        {

            get { return currPay; }

            set { currPay = value; }

        }

    }

    class Program

    {

        static void Main(string[] args)

        {

            Employee emp = new Employee("Marvin", 456, 30000);

        }

    }

 

Alıntı
Gönderildi : 02/01/2013 21:08
Kadir Avci
(@kadiravci)
Saygın Üye Forum Yöneticisi

public Employee(string name, int age, int id, float pay, string ssn)

Buraya gelen verilerle construct ediyor. name = name, age = 0, id = id, pay = pay, ssn = ""

CevapAlıntı
Gönderildi : 03/01/2013 17:32
Ragıp ÜNAL
(@RagipUNAL)
Üye

Tam üç adet Class ile aynı ada sahip contructor üretilmiş. Bu nedemek dersen. 1. si Overload yapmışsın, Class ı çağırırken üç farklı şekilde çağırabilirsin. Birde constractor, Class çalışma anında ilk çalışanlardır. Ve Hiç Class ismiyle aynı contractor yazmasanda derleyici bu yapıyı object tipini kalıtım alarak default değerlerle üretir.

CevapAlıntı
Gönderildi : 06/01/2013 16:22
Esma ORUC
(@EsmaORUC)
Üye

Constructor Chaining miş bu. Diğer constructor ana constructor un çağrılmasını sağlıyo. yani işlemi tek constructorde yapıyo.

 Burda güzel örnek.

http://www.codeproject.com/Articles/271582/Constructor-Chaining-in-Csharp .

 

Teşekkürler... 

CevapAlıntı
Gönderildi : 06/01/2013 21:10
Paylaş: