folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Aşırı Yüklenmiş Metod Kullanımında Yardım Lazım



Aşırı Yüklenmiş Metod Kullanımında Yardım Lazım

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    Olay başlıkta yazdığı gibi,ama biraz farklı. Aşırı yükleme yapma kısmında sorun yok ama aktarılacak parametreleri halledemiyorum.

    Mesela alan hesabı metodu yazıyorum biri int biri float kullanıyo...buna parametreleri metod(32,25)  şeklinde atayınca sıkıntı yok, ancak parametreler kullanıcıdan alıncak olunca iş karışıyor. Sonuçta olay aşırı yükleme, değişken tipi net olmayınca ne okutacağını bilmiyosun,parametre kısmında readline falan kullanıncada olmuyor...

    bunu nasıl yapabilirim? adamlar double kullanmış direk sonuç tam olsun diye,ama ben intide kullanayım diye düşündüm. alan hesabı için gereksiz tabi :D ama belki bigün gerekir diye araştırıyorum.

     


    :)
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SinusX
    SinusX's avatar
    Kayıt Tarihi: 14/Aralık/2010
    Erkek

    constructor kullanmayı denedin mi ?

    http://www.csharptr.com/cta-yapici-metotlarconstructors


    Si vis pacem para bellum.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wasd
    wasd's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    kurucu fonksiyonu biliyorum. dedim ya zaten metod(123123,12313) gibi ilk değeri atanmış şekilde olunca sorun yok,dediğin gibi kurucu kullanılırsada sorun yok.

    benim dediğim şey aşırı yüklenmiş fonksiyona parametreyi kullanıcının girmesi. yani şöyle düşün;

    karealanı(int kenar)

    {hedehödö}

    karealanı(double kenar)

    {hedehödö}

    daha sonrada main fonksiyonu içinde

    kenar = console.readline();

    gibi okutucam. Ancak kenarı herhangi bi tipte tanımlarsam ne anlamı kaldı aşırıyüklemenin?

    metodu

    karealanı(console.readline);

    şeklinde çağırıncada okunan değer string oluyo bunu sayı tiplerinden birine çevirmek gerekiyo yine aşırı yüklemenin bi anlamı kalmıyo...

    yani ben diyorumki kullanıcı kafasına göre girecek uygulama girilen değeri metodda çalıştıracak


    :)
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    KodlayanAdam
    KodlayanAdam's avatar
    Kayıt Tarihi: 01/Ekim/2005
    Erkek

    bahsettiğin şeyde methodu overload etmeye gerek yok gelen parametreyi double a çevirip double parametre alan methodla işlem yaparsın.

    illa herşeyde overloading yapılacak diye bişey yok gerektiği yerde kullanırsın.

    class dortgen
    
    {
    
         double en;
    
         double boy;
         
         //KARE
         public double alanhesapla(double kenar) 
         {
           this.en = kenar;
           this.boy = kenar;
           ....
         }
         
         //DİKDÖRTGEN
         public double alanhesapla(double En, double Boy) 
         {
           this.en = En;
           this.boy = Boy;
           ....
         }
     
    
    }
    
    //readline dan gelen veriyi almak için
    
    double kenar;
    try
    { 
      kenar = Convert.ToDouble(console.readline());
      bıd bıdı ..
    }
    catch(ex)
    { 
    Console.Writeline(ex.Message)
    }

    Hiç savaş görmemiş çocuklarla, hiç barış görüşmemiş çocuklar için adalet farklı anlamlar taşır.
Toplam Hit: 2041 Toplam Mesaj: 4