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

  • LIVESTRONG.COM

    LIVESTRONG.C

    5 EKİM 2005
  • PCDIY

    PCDIY

    16 AĞUSTOS 2013
  • Thom Hall

    Thom Hall

    24 Kasım 2006