• 19-12-2020, 00:54:45
    #1
    Merhabalar,

    Javada bir konu hakkında sıkıntım var yardımcı olabilirseniz sevinirim.

    3 adet class'ım olduğunu varsayalım.
    --> <"Class1", "Class2", "Class3"> olsun.
    --> bu 3 class bir adet <"BaseClass"> extend ediyor.
    --> Arraylist<BaseClass> tipinde bu classdaki verileri tutuyor.

    Arraylist içindeki bu verileri class tiplerine göre ayırarak yazdırmam gerekiyor konsola. Ancak "Instance of" ve "type casting" kullanmamam gerekiyor nasıl yapabilirim yardımcı olabilecek birisi var mı?

    Not: Arraylist kalmak zorunda değiştiremiyorum.
    Not2 : Her class'ın kendine ait print komutu var base classda bu abstract şekilde verilmiş. Şu an benim için tek sıkıntı gruplandırmak.
  • 19-12-2020, 00:59:15
    #2
    Polymorphism işinizi görmüyor mu ?
  • 19-12-2020, 01:04:08
    #3
    BD911 adlı üyeden alıntı: mesajı görüntüle
    Polymorphism işinizi görmüyor mu ?
    Gruplama işlemlerinde polymorphism ne gibi yarar sağlayabilir bana tam anlayamadım yardımcı olur musunuz? Dependency olmaması gerekiyor kodda

    Edit: polymorphism kullanıyorum bu arada BaseClass ile zaten ancak önce arraylist içinden tüm class1 tiplerini sonra tüm class2 tiplerini sonra tüm class3 tiplerini almam gerekiyor.
  • 19-12-2020, 12:45:48
    #4
    şöyle hocam bir defa elinde hangi class varsa ancak onun özelliklerine, metodlarına anca ulaşırsın başka yol yok, cast edersin, if instance dersin vs ama nihayetinde dönüştürür sonra metod ve değişkenlerine erişirsin. extend olayında ise şöyle bir güzellik var base classı abstract yap metodları abstract olarak orada tanımla o zmn kullanabilirsin. anladığım kadarıyla siz if kullanmak istemiyorsunuz eğer durum buysa if kullanmadan iş gördürmek için pattern designler tasarlanmış tabiri caizse takla attırarak çözmüş adamlar. probleminizin çözümüne uygun pattern var mı bir bakın derim. ayrıca yazdıklarınnızla problem kafamda tam oluşmadı aslında. eğer sorununuz farklıdıysa ben farklı birşey cevapladıysam artık kusura bakmayın
  • 19-12-2020, 12:49:49
    #5
    GitmeTurnam adlı üyeden alıntı: mesajı görüntüle
    şöyle hocam bir defa elinde hangi class varsa ancak onun özelliklerine, metodlarına anca ulaşırsın başka yol yok, cast edersin, if instance dersin vs ama nihayetinde dönüştürür sonra metod ve değişkenlerine erişirsin. extend olayında ise şöyle bir güzellik var base classı abstract yap metodları abstract olarak orada tanımla o zmn kullanabilirsin. anladığım kadarıyla siz if kullanmak istemiyorsunuz eğer durum buysa if kullanmadan iş gördürmek için pattern designler tasarlanmış tabiri caizse takla attırarak çözmüş adamlar. probleminizin çözümüne uygun pattern var mı bir bakın derim. ayrıca yazdıklarınnızla problem kafamda tam oluşmadı aslında. eğer sorununuz farklıdıysa ben farklı birşey cevapladıysam artık kusura bakmayın
    aslında farklı bir cevap vermediniz sadece instance of kullanmadan bir yöntem bulabilir miyim diye merak ediyordum ancak sanırım yok gibi duruyor. Teşekkürler cevabınız için.