Nesne ve Sınıf yapısı kullanılarak nesneye dayalı programlama yapılmaktadır. Nesneler sınıflardan oluşmaktadır.
Sınıf; Nesnelerin özelliklerini ve işlevlerini tanımlayan şablondur.
Nesne; Çevremizde gördüğümüz özellikleri ve işlevi olan her şeyi nesne olarak tanımlayabiliriz. örn: Telefon, bilgisayar, araba vs. Nesnelerin özellikleri veri tipi ile belirtilebileceği gibi yine bizim tarafımızdan oluşturulan sınıflar aracılığıyla da belirtilebilir. Nesnelerin işlevleri ise Metod Yapısı ile belirtilerek nesnelerin birbirleri arasındaki iletişimi sağlanır.
Bir araba sınıfı içerisinde arabaların genel bir özelliği olarak varsayilanMotorHacmi tanımlanmıştır. Ayrıca işlevsellik olarak da calistir() veya bagajAc() gibi bir çok işlevsellik eklenebilir. Özellikler ve İşlevsellikler tamamen geliştiricilerin ihtiyacına göre düzenlenebilir.
Consructer(Yapıcı Metod)
Bir sınıftan nesne oluşturulduğunda ilk çalışan metotlardır. Biz kod yazarken sınıf içerisinde constructer tanımlamasak da arka tarafta bizim yerimize default olarak bir constructer oluşturulmaktadır. Bu metodlar aracığıyla sınıflara ilk çalıştıklarında vermek istediğimiz değerleri verebilir, varsayılan değerlere farklı değerler atayabilir veya bir metot çalıştırabiliriz.
Static Constructer bir classtan nesne yaratırken diğer constructerlardan önce ilk bu çalışır. Parametre almazlar ve bu sınıftan ilk nesne oluşturulduğunda sadece bir kez çalışır bir daha çalışmazlar.
new Araba(); diyerek bir nesne oluşturduğumuzda ilk olarak boş constructera bulacak ve bu constructerın scopuna girmeden parametre alan constructera gidip onun içini çalıştıracak ve daha sonra geriye dönüp boş constructerin scopunu çalıştıracaktır.
Nesne
Sınıflardan oluşturulur. Sınıfların bir instancesidir.
SinifAdi sinifAdi = new SinifAdi();
Referans Nedir ?
Ram'in Stack bölgesinde tanımlanan ve Heap bölgesindeki nesneleri işaretleyen/referans eden değişkendir.
Yukarıdaki sarı nokta referans noktasıdır. Abstract, interface ve classtan referans noktası oluşturulabilir fakat bu referans noktaları sadece Class türünden nesneyi işaret edebilir. Yani abstract ve interfacelerin new'lenerek nesneleri oluşturulamaz. new keywördü ile bu referans noktalarına bellekten yer tahsis edilir. Eğer ki referans noktası oluşturulur fakat new keywordü ile bellekten yer tahsis edilmezse bu referans noktası null değerini alır.(MyClass m; // null )
Getter ve Setter Metodlar
Yukarıdaki varsayilanMotorHacmi değişkeninin değerini değiştirmek istiyorsak direkt olarak çağırarak değil de getter setter yapısını kullanarak yapmak en doğru yaklaşımdır.
Hiç yorum yok:
Yorum Gönder