Kas 6, 2014 - Class, X++    Yorum Yok

Parm Method

Bu konumuzda parm metodlardan bahsedeceğiz. Tanım olarak açıklayacak olursak Parm metodlar uzun adıyla parametrik metodlar değer alıp değer döndüren metodlardır. Genellikle alınan değerleri bir yerden nesneden başka bir nesneye taşımak için kullanılırlar. Yani örnek verecek olursak bir classtaki bir değeri başka bir classa veya bir forma taşımak için parm metod yazılır ve istenilen yerlerden çağrılarak kullanır.

Çok çeşitli yazılabileceği gibi en standart kullanımında belli bir tipteki (veri tipi, EDT, veya table buffer olabilir) değeri aldıktan sonra ilk çalışan nesne kapanmadığı sürece saklayan ve başka yerden çağrıldığında tekrar yeni bir değer atanmadan bir değişene atama sonucunda atanan değeri döndüren bir yapıya sahiptir.

Bir çok çeşit yazım tipi bulunmasına rağmen aşağıdaki yazılış şekli en yaygın kullanılandır.

public dondurulecekDeger parmMetodIsmi(veriTipi _localDegiskenIsmi = globalDegiskenIsmi)
{
    globalDegiskenIsmi = _localDegiskenIsmi;

    return globalDegiskenIsmi;
}

Örn:

public SalesId parmSalesId(SalesId _salesId = salesId)
{
    salesId = _salesId;

    return salesId;
}

Burada dikkat edilecek kısım atanan veriyi kaybetmemesi için örnekteki “salesId” değişkeninin global olarak tanımlanması yani classDeclarationa tanımlanması gerekmektedir. Diğer dikkat edilecek nokta ise parm metodun yazıldığı nesnenin sonlandırılmamış olması gerekmektedir.

Aşağıdaki örnekte iki tane class oluşuturup iki class arasında parm metoda nasıl atama yapılıp nasıl değer döndürüldüğünü inceleyeceğiz.

static void Erkn_ParmMethodJob(Args _args)
{
    IkinciClass  ikinciClass = new IkinciClass(); //İkinci class tanımlanır.
    ikinciClass.callerMethod();//ikinci classın callerMethodu çağırılır.
}

//classDeclaration
class BirinciClass
{
    SalesId     salesId;
}

//Birinci class metodu
public void infoMethod()
{
    SalesId         salesIdinfo;

    salesIdinfo = this.parmSalesId(); //İkinci classtan değeri almış olan parm method değeri döndürür.

    info(strFmt("Birinci Classtan Gönderilen info - SalesId : %1",salesIdinfo));
}

//BirinciClass parm method
public SalesId parmSalesId(SalesId _salesId = salesId)
{
    salesId = _salesId;

    return salesId;
}

//İkinci Classın ClassDeclarationu
class IkinciClass
{
    BirinciClass    birinciClass;
}

//İkinci class metodu
public void callerMethod()
{
    SalesId         salesIdLocal = "SIP-00001"; //SalesId ataması yapılır
    birinciClass    = new BirinciClass(); //Birinci Class Tanımlanır.

    birinciClass.parmSalesId(salesIdLocal); //Parm methodun içine değer ataması yapılır
    birinciClass.infoMethod(); //birinci classın info methodu çağırılır
    this.ikinciClassInfo(); //İkinci Classın info methodu çağrılır.

}

public void ikinciClassInfo()
{
    SalesId     salesId;
    salesId = birinciClass.parmSalesId(); //Değeri atanmış olan Parm method salesId değeri döndürür

    info(strFmt("İkinci Classtan Gönderilen info - SalesId : %1",salesId));
}

Örnekte olduğu gibi ikinciClassın callerMethodu çalıştıktan sonra birinci classtaki parm metoda değer ataması yapılıyor. Daha sonra iki classında farklı methodlarından bu parm method çağırılarak değerlerin döndürülmesi çağrılır.

Aşağıdaki linkten projeyi indirip inceleyebilirsiniz.

Link : Erkn_ParmMethod

Erkan OĞUZ

Önceki Konu->

<- Sonraki Konu

Benzer yazılar

Yorum Yazın...