Statik ve Statik Olmayan Yöntem
Yöntem, belirli bir görevi gerçekleştirmek için gerçekleştirilen bir dizi ifadedir. Yöntemler girdi alabilir ve çıktı üretebilir. Statik ve statik olmayan yöntemler, nesne yönelimli programlama dillerinde bulunan iki tür yöntemdir. Statik yöntem, bir sınıfla ilişkilendirilmiş bir yöntemdir. Bir nesneyle ilişkilendirilen yönteme statik olmayan (örnek) yöntem denir. Nesneye yönelik dillerde, yöntemler nesnelerde depolanan veriler üzerinde işlemek için bir mekanizma olarak kullanılır.
Statik Yöntem Nedir?
Nesneye yönelik programlamada, statik yöntem bir sınıfla ilişkilendirilmiş bir yöntemdir. Bu nedenle, statik yöntemlerin sınıfın belirli bir örneğinde çalışabilme özelliği yoktur. Statik yöntemler, statik yöntemi içeren sınıfın bir nesnesi kullanılmadan çağrılabilir. Aşağıda, Java'da statik bir yöntem tanımlamaya bir örnek verilmiştir. Java'da statik yöntem tanımlanırken statik kullanılmalıdır.
genel sınıf MyClass genel statik boşluk MyStaticMethod () // statik yöntemin koduYukarıda tanımlanan statik yöntem, ait olduğu sınıfın adı kullanılarak aşağıdaki şekilde çağrılabilir.
MyClass.MyStaticMethod ();
Dikkat edilmesi gereken önemli bir nokta, statik yöntemlerin yalnızca statik üyelere erişebilmesidir..
Statik Olmayan Yöntem Nedir?
Statik olmayan bir yöntem veya örnek yöntemi, bir sınıftaki bir nesneyle ilişkilendirilmiş bir yöntemdir. Bu nedenle, statik olmayan yöntemler, yöntemin tanımlandığı sınıfın bir nesnesi kullanılarak çağrılır. Statik olmayan bir yöntem, statik olmayan üyelere ve bir sınıfın statik üyelerine erişebilir. Birçok nesne yönelimli dilde (C ++, C #, Java gibi), statik olmayan bir yöntem çağrıldığında, yöntemi çağıran nesne örtük bir argüman olarak iletilir (buna 'bu' başvuru denir). Bu nedenle, yöntemin içinde bu anahtar sözcük, yöntemi çağıran nesneyi belirtmek için kullanılabilir. Aşağıda Java'da bir örnek yöntemi tanımlama örneği verilmiştir.
genel sınıf MyClass herkese açık geçersiz MyInstanceMethod () // örnek yönteminin kodu
Yukarıda tanımlanan örnek yöntemi, ait olduğu sınıfın bir nesnesi kullanılarak aşağıdaki gibi çağrılabilir.
Sınıfım objMyClass = yeni Sınıfım ();
objMyClass.MyInstanceMethod ();
Statik ve Statik Olmayan Yöntem arasındaki fark nedir?
Statik yöntemler bir sınıfla ilişkilendirilmiş yöntemlerdir, oysa statik olmayan yöntemler bir sınıfın nesneleriyle ilişkilendirilmiş yöntemlerdir. Statik olmayan bir yöntemi çağırmak için önce bir sınıfın başlatılması gerekir, ancak statik yöntemlerin bu gereksinimi yoktur. Statik yöntemi tutan sınıfın adı kullanılarak kolayca çağrılabilirler. Bir başka önemli fark, statik olmayan bir yöntemin genellikle yöntemi çağıran nesneye bir başvuruya sahip olması ve yöntemin içindeki bu anahtar sözcük kullanılarak erişilebilmesidir. Ancak bu anahtar kelime, belirli bir nesneyle ilişkilendirilmedikleri için statik yöntemlerde kullanılamaz.