Forum

C# constructor hakk...
 
Bildirimler
Hepsini Temizle

C# constructor hakkında bir soru

4 Yazılar
3 Üyeler
0 Likes
395 Görüntüleme
(@EsmaORUC)
Gönderiler: 5
Active Member
Konu başlatıcı
 

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);

        }

    }

 

 
Gönderildi : 02/01/2013 22:08

(@kadiravci)
Gönderiler: 202
Üye
 

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 = ""

 
Gönderildi : 03/01/2013 18:32

(@RagipUNAL)
Gönderiler: 171
Estimable Member
 

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.

 
Gönderildi : 06/01/2013 17:22

(@EsmaORUC)
Gönderiler: 5
Active Member
Konu başlatıcı
 

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... 

 
Gönderildi : 06/01/2013 22:10

Paylaş: