Static vs Instance Methods

Herkese Merhaba,

Bir class’ın metotlarını kullanmak istediğimizde, tüm metotların aynı şekilde çağrılmadığını fark etmişsinizdir. Bunun nedeni, her bir metodun da kendi tipinin olmasıdır. Bu noktada static ve instance kavramlarıyla karşılaşırız.

Aradaki farka gelince de static metotlar çağrılmak için bir nesneye ihtiyaç duymazken instance metotlar kendi sınıfından türetilmiş bir objeye ihtiyaç duyar.

Örneğin; CL_SALV_TABLE’in Factory ve Display metotlarını kıyaslayıp aradaki farka göz atalım

  • Se24’te CL_SALV_TABLE’i inceleyelim.

Factory metodu, salv basmamıza yardımcı olan static bir metottur. Bu yüzden doğrudan çağırabiliriz.

cl_salv_table=>factory(
* EXPORTING
* list_display = if_salv_c_bool_sap=>false " ALV Displayed in List Mode
* r_
container = " Abstract Container for GUI Controls
* container_name =
IMPORTING
r_
salv_table = go_salv " Basis Class Simple ALV Tables
CHANGING
t_table = lt_final
).

Display metodu ise instance metot olup, bir objeye ihtiyaç duyar. Bu yüzden bu classtan yaratılmış bir obje kullanmamız lazım.

DATA: go_salv TYPE REF TO cl_salv_table.
go_salv->display( ).

Bir sonraki yazıda görüşmek üzere.

Merve Polat

https://medium.com/@pmervepolat977

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir