X++ statik sınıf üyeleri

Bu makalede X++'ta statik sınıf üyeleri açıklanmaktadır. Genel olarak, şu durumlar için statik yöntemler kullanın:

  • yönteminin sınıfında bildirilen üye değişkenlerine erişmesi gerekmez.
  • yönteminin sınıfının herhangi bir örneğini (statik olmayan) çağırması gerekmez.

statik anahtar sözcüğünü kullanarak statik sınıf üyelerini bildirin. static anahtar sözcüğü, sınıfın örnek sayısından bağımsız olarak sisteme yöntemin yalnızca bir örneğini oluşturmasını bildirir. Oturumunuz boyunca bu örneği kullanın.

Static methods

Bu bölümde, korsanlığı önlemeye yardımcı olmak için yazılım anahtarı türünün kullanıldığı bir senaryo açıklanmaktadır. Bir yazılım anahtarının her örneğinin kendi benzersiz değeri olabilir. Tüm yazılım anahtarlarının yazılım anahtarı tasarımı kurallarına uyması gerektiğinden, yazılım anahtarı uyumluluğu için test eden mantık tüm yazılım anahtarları için aynıdır. Bu nedenle, uyumluluk doğrulama mantığını içeren yöntem statik olmalıdır.

Aşağıda static anahtar sözcüğü kullanılarak bildirilen bir yöntem örneği verilmiştir.

public class SoftwareKey
{
    static public boolean validateSoftwareKey(str _softwareKeyString)
    {
        // Your code here.
        return false;
    }
}

Aşağıdaki örnekte, sınıfında statik bir yöntem çağırmadan önce SoftwareKey sınıfının bir örneğini oluşturmanız gerekmez. static validateSoftwareKey yöntemini çağırmak istediğinizde, söz dizimi yöntemini içeren sınıfın adıyla başlar. İki nokta üst üste çifti (::), sınıf adını statik yöntem adına bağlar.

boolean yourBool = SoftwareKey::validateSoftwareKey(yourSoftwareKeyString);

Static fields

Statik alanlar, statik anahtar sözcüğünü kullanarak bildirdiğiniz değişkenlerdir. Kavramsal olarak, sınıfın örneklerine değil sınıfına uygulanır.

Static constructors

Statik oluşturucu her zaman sınıfına statik veya örnek çağrıları yapılmadan önce çalışır. Statik oluşturucunun yürütülmesi kullanıcının oturumuna göredir. Statik oluşturucu aşağıdaki söz dizimini kullanır.

static void TypeNew()

Statik oluşturucuyu hiçbir zaman açıkça çağırmazsınız. Derleyici, oluşturucunun sınıftaki diğer herhangi bir yöntemden tam olarak bir kez önce çağrıldığından emin olmak için kod oluşturur. Statik verileri başlatmak veya yalnızca bir kez gerçekleştirilmesi gereken belirli bir eylemi gerçekleştirmek için statik bir oluşturucu kullanın. Statik oluşturucu için parametre sağlayamazsınız ve bunu statik olarak işaretlemeniz gerekir.

Aşağıdaki kod örneği, statik oluşturucu kullanarak tekil bir örneğin nasıl oluşturulacağını gösterir.

public class Singleton
{
    private static Singleton instance;

    private void new()
    {
    }

    static void TypeNew()
    {
        instance = new Singleton();
    }

    public static Singleton Instance()
    {
        return Singleton::instance;
    }
}

singleton, sınıfın yalnızca bir örneği olduğunu garanti eder. Aşağıdaki örnek, tekil örneği oluşturma işlemini gösterir.

Singleton i = Singleton::Instance();

Static method

Sınıf yöntemleri olarak da bilinen statik yöntemler bir sınıfa aittir ve static anahtar sözcüğü kullanılarak oluşturulur. Statik yöntemleri kullanmadan önce bir nesne örneği oluşturmanız gerekmez. Tablolarda depolanan verilerle çalışmak için statik yöntemler kullanın. Statik bir yöntemde üye değişkenlerini kullanamazsınız. Statik yöntemleri çağırmak için aşağıdaki söz dizimini kullanın.

ClassName::methodName();

Statik ve örnek yöntemleri

Yöntemlerdeki erişimci anahtar sözcükleri, hangi yöntemin statik veya statik olmayan olduğuna bakılmaksızın, aynı sınıftaki iki yöntem arasındaki çağrıları hiçbir zaman kısıtlamaz. Statik bir yöntemde, yeni oluşturucu yöntemi özel değiştirici ile dekore edilmiş olsa bile yeni oluşturucu yöntemine yapılan çağrılar geçerlidir. Bu çağrıların söz dizimi için yeni anahtar sözcüğü kullanmanız gerekir. Statik yöntemdeki kodun, sınıfındaki herhangi bir örnek yöntemini çağırabilmesi için önce kendi sınıfının bir örnek nesnesini oluşturması gerekir.