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

  • eisleyhead

    eisleyhead

    11 Ocak 2006
  • hydejiaqi

    hydejiaqi

    12 Mart 2008
  • Krumme1996

    Krumme1996

    21 EYLÜL 2009