C# Constructors Metotlar

By Burak TUNGUT - 21.11.2012 - Kategori C#

Bu yazımıda C# da Constructors yani yapılandırıcı metotlar konusunu işliyor olacağız.
Yazımız ile sınıflar konusunda da örnekler yapmış olacağız.

Bu zamana kadar bizim ürettiğimiz ya da dolaylı yoldan instance alıp kullandığımız sınıfların public üyelerine kendimiz ulaştık ya da sınıf içersindeki çeşitli metotları kullandık. 
Constructors metotlar ise bir nesnenin, sınıftan instance aldığı zamanlarda üye değişkenlerine otomatikmen verdiği değerler ile yardımımıza koşan bir yapıdır.

Değer tipleri ve referanslar arasındaki farkları işlediğim konuda hatırlayacak olursanız referans tipleri oluşturulduğu anda default değerlere sahip oluyorlardı. Aslında bunun tek nedeni oluşturduğumuz anda ilgili sınıfın içersindeki defaurlt constructors metotunun tetiklenmesidir.

Şimdi Constructors konusunu tam anlamıyla ele alalım ve bir örnek yapalım. Ancak örnekden önce Constructors metotları diğer metotlardan ayıran iki özellikten bahsetmek istiyorum ;

  1. Constructors methotların geri dönüş değerleri yoktur.
  2. Constructors metotlar ilgili sınıf ile aynı isimde olmak zorundadırlar.
namespace Makale.Test
{
    public class User
    {
        public string Username { get; set; }
        public int Age { get; set; }
        public bool IsAdmin { get; set; }

        public void WriteInformations()
        {
            Console.WriteLine(this.Username);
            Console.WriteLine(this.Age);
            Console.WriteLine(this.IsAdmin);
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            User user = new User();
            user.WriteInformations();
        }
    }
}


Uygulamada çalıştığı anda default constructors devreye girecek ve tüm propertylerin default değerlerini yazacaktır.
Şimdi ise oluşabilecek tüm durumlar için constructors metotlarımızı yazalım.

Devamı

C# da Override Methodlar

By Burak TUNGUT - 21.11.2012 - Kategori C#

Bu makalem de C# ile iki sınıf üretip ikisinin de aynı isimde bulunan methodun farklı sonuçlar vermesini yani diğer methodu ezmesini sağlayacağız.
Override methodlar diğer bir değişle method ezme yöntemiyle base sınıfın methodunu etkisil hale getirerek kendi sınıfındaki methodu nasıl çalıştıracağımızı göreceğiz.

 Override methodlar nesne yönelim mimarisinin olmazsa olmazlarından biridir ve haliyle virtual methodlarda tabi ki. Method ezmeye yarayan override yapısı sayesinde miras aldığımız yani base sınıfımız olan bir sınıftaki methodun eksikliğini giderebiliriz.

Override konusunu iyi bir şekilde kavramak için iki sınıf düşünelim. 1. Sınıfımız insan sınıfı olacak ve adi ve soyadi üye değişkenlerine sahip olacak.Aynı zamanda bu sınıfımızda bilgileriYazdir gibi bir methodumuz olacak ve bu method o kişinin bilgilerini konsola yazacak.

2.Sınıfımız ise ogrenci sinifi olup kisi sinifindan miras alacaktır. Farklı olarak ogrencino üye değişkenine sahip olan bu sınıfımız için ise override bir method yazacağız. Ama öncelikle yazmamamız durumunda ne ile karşılaşacağımızı bir incelemek istiyorum. Şimdi sınıflarımızı görelim,

 

class insan
        {
            private string adi;
            private string soyadi;

            public string Soyadi
            {
                get { return soyadi; }
                set { soyadi = value; }
            }

            public string Adi
            {
                get { return adi; }
                set { adi = value; }
            }

            public virtual void bilgileriYazdir()
            {
                Console.WriteLine("Kişi bilgileri : "+this.adi+" "+this.soyadi);
            }
        }

Şimdi ise insan sınıfında miras alacak olan ogrenci sınıfımızı inceleyelim,

Devamı

PHP ile Kalıtım

By Burak TUNGUT - 20.11.2012 - Kategori Diğer Diller

Bu makalemde PHP5 ile beraberinde gelen yeni Object Oriented Programlama tekniklerinden olmazsa olmazı kalıtımı inceleyeceğiz. Aynı zaman da public, private, static, final ve protected anahtar kelimelerinin ne anlamlara geldiğinin de biraz üstünde duracağım.

Yapacağım örnek için günlük hayttan Kişi ve Öğrenci sınıfı ile Is-A-Relationship ilişkisi kuracağız.

Sınıflarımızı tanıyalım

İlk olarak tanımlayacağımız Kisi sınıfı için fazla değişken atamadan sadece isim değişkeni ile yetiniyoruz.
Fakat Kisi sınıfından kalıtılacak Ogrenci sınıfı için OgrNo ve Bolum değişkenlerini tanımlıyoruz.
 

Methodlarımız

Diğer dillerden el alışkanlığımız olsa da ne yazıkki PHP de parametre almayan yapılandırıcı method kullanamıyoruz.
Her iki sınıfımız için de birer getter ve setter methodlar tanımlıyoruz.
 

Devamı
1
Facebook
Son Yorumlar