
Bu iki başlık için ilk olarak söylememiz gereken şey, her nesne bir sınıftan türetilerek oluşur. Sıkça kullandığımız nesneler sınıflardan türetilerek oluşturulur.

Yukarıda genel olarak kullandığımız yapı bulunuyor. Bazı sınıflardan nesne türetilirken parametre yollamamız gerekebiliyor. Aşağıda buna değineceğim.

Burada Employee sınıfından türettiğimiz personalDetail nesnesine bir parametre ekledik. Bunu karşılamak için sınıf içerisinde kurucu metot oluştururuz. Şimdi buna değinelim,
Kurucu Metotlar (Constructors)
Kurucu metotlar bulunduğu sınıf ile aynı ada sahiptir ve public olarak erişilebilir yapıdadır. Kurucu metot nesne türetildiğinde ilk olarak çalışan kod bloğudur. Kurucu metotlar parametre almak zorunda değildir. Bir sınıfın birden fazla kurucu metodu olabilir ve buna metot aşırı yüklemesi (method overloading) denir.

Yukarıda görüldüğü üzere ilk olarak public erişim belirleyicisi ile Employee adında bir class oluşturduk. Daha sonra public erişim belirleyicisi ile Employee adında kurucu metot(constructor) tanımladık ve görüldüğü üzere bu constructor için tanımlanan deger parametresini yapıcı metot içerisinde kullandık.

Sınıflar(class) değişken olarak kullanılan alanlar(fields), özellikler (properties) ve metotlardan oluşur.

Yukarıda Employee sınıfını tanımladıktan sonra yapıcı metodu tanımladık. Bu yapıcı metot içerisinde kod bloğumuzu yazdık ve daha sonra private erişim belirleyicisi ile EmployeeID değişkenini tanımladık.
Burası önemli bir nokta çünkü dışarıdan EmployeeID’ye ulaşmak istediğimizde hata mesajı alırız. Bu değere ulaşmak için property’den faydalanırız. Property get özelliği ile değişkene ulaşırız set özelliği ile ise değişkenin değerini değiştiririz. Sınıf içerisinde metotlarıda kullanırız. Örneğin private olarak tanımlanan bir alana(field) metot üzerinden de ulaşabiliriz. Metodu return ederken burada istediğimiz alanı(field) vererek değeri görebiliriz.