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

  • Erica Griffin

    Erica Griffi

    8 HAZİRAN 2009
  • kndx

    kndx

    11 Mart 2006
  • ShayLoss

    ShayLoss

    5 Kasım 2009