Statik Bir Yöntem Nedir?

Bir sınıfta ilan edilen ancak o sınıfın belirli bir örneğine bağlı olmayan, nesne yönelimli bir bilgisayar programlama yöntemine statik yöntem denir. Çoğu programlama dili, bir yöntemi statik yapmak için bir yöntem bildirgesinde statik anahtar sözcüğünü içerir. Bu yöntemler kesinlikle içinde bulundukları sınıfa aittir ve o sınıftan örneklenen nesnelere değil. Sık sık sınıf metodu olarak adlandırılırlar.

Sınıfın değişmez adı normal olarak, başlatılmış bir nesnenin adını belirtmek yerine statik bir yönteme erişmek için kullanılır. Java'da, bu yöntemlere atıfta bulunmak için nesne adlarını kullanmasına izin verilir, ancak kesinlikle önerilmez. Bir nesne adı kullanılıyorsa, kodu okuyan bir kişi bu yöntemlerden birini bir örnek yöntemle karıştırabilir.

Statik yöntemler genellikle herhangi bir belirli sınıftaki örnek değişkenlere bağlı olmayan yardımcı sınıflarda kullanılır. Bir programcının yönteme erişmesi gerektiğinde de kullanılır, ancak içinde bulunduğu sınıfı başlatmaya gerek yoktur. Yardımcı program sınıfları normalde nesnelere başlatılmaz. Bir yardımcı program yönteminin nesne bilgisini değiştirme ihtiyacı olması olağandışı olacaktır. Java.lang.math sınıfından pow () gibi bir yöntem, bu yöntem türünün bir yardımcı sınıfta nasıl kullanılacağına bir örnek olabilir.

Örnek yöntemleri, örnek değişkenlerine, statik değişkenlere, örnek yöntemlere ve statik yöntemlere doğrudan erişebilir. Statik yöntemler, örnek değişkenlerine ve örnek yöntemlerine doğrudan erişemez. Örnek yöntemlerin sınıf üyelerine statik yöntemlerden daha iyi erişime sahip olması nedeniyle, örnek yöntemler normalde normal sınıflarda kullanılan yöntem türüdür.

Polimorfizm kullanıldığı zaman kalıtım sırasında statik yöntemlerin bir ana dezavantajı ortaya çıkar. Ana statik yöntem nihai olarak bildirilmediği sürece, aynı çocuk statik yöntem, alt sınıfta geçersiz kılınmış gibi kodlanabilir. Buna teknik olarak geçersiz kılmak yerine gizleme denir, çünkü statik bir yöntem geçersiz kılınamaz.

Gizleme kullanıldığında, ana statik yönteme sınıf adı kullanılarak erişilirse, ana yöntem kullanılır. Geçersiz kılınan alt statik yönteme nesne adı kullanılarak erişilirse, geçersiz kılınan alt yöntem kullanılır. Bir alt nesne üst öğe olarak yukarı fırlatıldığında sorun oluşur. Bu durumda, upcast çocuk statik yöntemine yapılan bir çağrı, beklenen çocuk yöntemi yerine ana yöntemi kullanır. Gerçek polimorfizmde, alt yöntemden sonra aktif hale getirilen çocuk yöntemi olacaktır.