SORU
8 NİSAN 2010, PERŞEMBE


Yöntem adı arayüzü çarpışma uygulama - Java

Eğer ben iki arayüzleri , hem de oldukça farklı amaçları , ama aynı yöntem imzası , nasıl yapabilirim bir sınıf uygulamak her ikisi de olmadan zorla yazmak için bir tek yöntem bu hizmet için hem arabirimleri ve yazılı bazı dolambaçlı mantık yöntemi uygulaması bu çekler için ne tür bir nesne çağrısı yaptı ve varlık çağırmak uygun kod ?

C# , bu kadar açık arabirim uygulaması olarak adlandırılan aşılıyor. Java ile eşdeğer herhangi bir yolu var mı ?

CEVAP
8 NİSAN 2010, PERŞEMBE


Hayır, Java'da bir sınıftan iki farklı yönden aynı yöntemi uygulamak için yolu yoktur.

Java buna izin vermemiş bu yüzden çok kafa karıştırıcı durumlara yol açabilir.

interface ISomething {
    void doSomething();
}

interface ISomething2 {
    void doSomething();
}

class Impl implements ISomething, ISomething2 {
   void doSomething() {} // There can only be one implementation of this method.
}

Ne yapabilirim her biri farklı bir arabirimi uygulayan oluşturan iki sınıf bir sınıftır. Bir sınıf hem arayüzleri davranış olacaktır.

class CompositeClass {
    ISomething class1;
    ISomething2 class2;
    void doSomething1(){class1.doSomething();}
    void doSomething2(){class2.doSomething();}
}

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ecf150king

    ecf150king

    20 Ocak 2006
  • Menglong Tav

    Menglong Tav

    18 Temmuz 2010
  • RaverX DouBle StAg XI

    RaverX DouBl

    23 Mayıs 2008