SORU
21 ŞUBAT 2012, Salı


Neden yok't yakut yöntem aşırı yükleme desteği?

Yöntemi aşırı desteklemek yerine Ruby mevcut yöntemler üzerine yazar. Herkes dilini bu şekilde tasarlanmıştır neden açıklayabilir mi?

CEVAP
21 ŞUBAT 2012, Salı


Metot aşırı yükleme aynı adı taşıyan iki yöntem bildirmek ve farklı imzalar ile elde edilebilir. Bu farklı imzalar da olabilir

  1. Veri türleri, örneğin farklı bağımsız değişkenler: method(int a, int b) vs method(String a, String b)
  2. Argümanlar, örneğin değişken sayısı: method(a) vs method(a, b)

Veri türü ruby bildirimi yok, çünkü elde yöntemi aşırı ilk yolu kullanarak edemeyiz(dinamik yazılan dil). Yani yukarıdaki yöntemi tanımlamak için tek yol def(a,b)

İkinci seçenek ile, metot aşırı yükleme yapabiliriz gibi görünebilir, ama yapamayız. İzin bağımsız değişken sayısı farklı olan iki yöntem var

def method(a); end;
def method(a, b = true); end; # second argument has a default value

method(10)
# Now the method call can match the first one as well as the second one, 
# so here is the problem.

Ruby yöntemi benzersiz bir ad ile zincir bak bir yöntem korumak gerekiyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Djbasilio AuToBaSs

    Djbasilio Au

    20 Aralık 2008
  • SDSARG3

    SDSARG3

    14 Mart 2009
  • sghaff1

    sghaff1

    23 Mart 2009