«interface» etiketlenmiş sorular

Bir arabirim, bir bileşenle belirlenen etkileşim noktasını ifade eder. Arabirimler hem donanım hem de yazılım düzeyinde uygulanabilir. --- Ayrıca Java, C # ve benzer dillerde tek miras için tek istisna olan dil arabirimi "arabirimi" anlamına gelir.


14
Bir arabirimde neden statik yöntemler bildiremiyorum?
Konu en çok anlatıyor - statik yöntemlerin bir arabirimde bildirilememesinin nedeni nedir? public interface ITest { public static String test(); } Yukarıdaki kod bana şu hatayı veriyor (en azından Eclipse'de): "ITest.test () arabirim yöntemi için geçersiz değiştirici; yalnızca genel ve soyut izin verilir".

11
Bir Arayüzde Oluşturucu?
Arayüzde bir kurucu tanımlamanın mümkün olmadığını biliyorum. Ama nedenini merak ediyorum, çünkü bence çok faydalı olabilir. Dolayısıyla, bu arabirimin her uygulaması için bir sınıftaki bazı alanların tanımlandığından emin olabilirsiniz. Örneğin, aşağıdaki ileti sınıfını düşünün: public class MyMessage { public MyMessage(String receiver) { this.receiver = receiver; } private String receiver; public …
148 java  interface 


4
Java arayüzü yöntemini neden soyut olarak bildirelim?
Mevcut bir sınıfa dayalı bir arayüz oluşturmak için bugün Eclipse'nin "pull interface" refactoring özelliğini kullandım. İletişim kutusu, yeni arabirimin tüm yeni yöntemlerini "soyut" yöntem olarak oluşturmayı teklif etti. Bunun yararı ne olurdu? Arayüz yöntemlerini soyut olarak ilan etmenize izin verilmesinin, dilin özellikle teşvik edilmeyen gereksiz ve zararsız bir özelliği olduğunu …

11
Eclipse IDE'de arayüz uygulamasına geç
Eclipse'de F3bir yöntemin üzerine basmak sizi deklarasyonuna nasıl götüreceğini biliyor musunuz ? Ben bir arayüzün parçası olan bir yöntem var; bunun üzerine tıklamak F3doğal olarak beni bildiren arayüze götürür. Açıkçası bu arabirimi uygulayan bir nesne var ve yöntemin gerçekte uygulandığı yer burası. Ben F3bastığımda arayüz bildirimi yerine uygulamaya atlamak istiyorum …


10
Eclipse neden arabirim yöntemlerinde @Override hakkında şikayet ediyor?
Üst sınıf yöntemleri yerine arabirim yöntemlerini @Overridegeçersiz kılan yöntemlerde kullanan mevcut bir proje var . Bunu kodda değiştiremiyorum, ama Eclpse'nin hala Maven ile inşa edebileceğim için ek açıklama hakkında şikayet etmeyi bırakmasını istiyorum. Bu hatayı devre dışı bırakmaya nasıl giderim? Not: Proje gereksinimleri nedeniyle Java 1.5 için derlemem gerekiyor.

3
C #: Soyut sınıfların arayüzleri uygulaması mı gerekiyor?
C #'daki test kodum: namespace DSnA { public abstract class Test : IComparable { } } Aşağıdaki derleyici hatasıyla sonuçlanır: error CS0535: 'DSnA.Test' does not implement interface member 'System.IComparable.CompareTo(object)' Sınıf yana Testbir olan soyut sınıf , neden derleyici arabirimini uygulamak üzere bu gerektiriyor? Bu gereklilik sadece somut dersler için zorunlu …


5
Java8: java.lang.Object'ten bir yöntem için varsayılan bir yöntem tanımlamak neden yasaklanmıştır.
Varsayılan yöntemler, Java araç kutumuzda güzel ve yeni bir araçtır. Ancak, yöntemin bir defaultsürümünü tanımlayan bir arayüz yazmaya çalıştım toString. Java yöntemleri ilan etmesinden bu yana bu, yasak olduğunu söylüyor java.lang.Objectolmayabilir defaulted. Durum neden böyle? "Temel sınıf her zaman kazanır" kuralı olduğunu biliyorum, bu nedenle varsayılan olarak (pun;), defaultbir Objectyöntemin …

4
C # 'da, bir sınıf başka bir sınıftan ve bir arabirimden miras alabilir mi?
Bir sınıfın bir sınıftan ve bir arabirimden miras alıp alamayacağını bilmek istiyorum. Aşağıdaki örnek kod çalışmıyor, ancak yapmak istediğimi ifade ettiğini düşünüyorum. Bunu yapmak istememin sebebi firmamda USB, seri, ethernet vb cihazlar yapıyor olmamızdır. Tüm uygulamalarımız için ortak şeyleri (bağlanma, bağlantıyı kesme, aygıt yazılımı alma gibi) aynı tutmaya yardımcı olacak …

9
Arayüzü, uygulamayı veya her ikisini birden yorumluyor musunuz?
Hepimizin (rahatsız olabileceğimiz zaman!) Arayüzlerimizi yorumladığımızı hayal ediyorum. Örneğin /// <summary> /// Foo Interface /// </summary> public interface Foo { /// <summary> /// Will 'bar' /// </summary> /// <param name="wibble">Wibble factor</param> void Bar(string wibble); } Uygulamayı da yorumluyor musunuz (müşterilere, örneğin bir kütüphanenin bir parçası olarak da sunulabilir)? Öyleyse, ikisini …
128 c#  java  comments  interface 

7
Bir arabirim uygulayan soyut bir sınıf neden arabirimin yöntemlerinden birinin bildirimini / uygulamasını kaçırabilir?
Bir arabirimi uygulamak için soyut bir sınıf kullandığınızda Java'da ilginç bir şey olur: arabirimin yöntemlerinden bazıları tamamen eksik olabilir (yani ne soyut bir bildirim ne de gerçek bir uygulama mevcut değildir), ancak derleyici şikayet etmez. Örneğin, arayüz verildiğinde: public interface IAnything { void m1(); void m2(); void m3(); } aşağıdaki …

1
Arayüzlere genişletme yöntemleri uygulanabilir mi?
Bir arayüze bir genişletme yöntemi uygulamak mümkün müdür? (C # sorusu) Örneğin, aşağıdakileri başarmak için: bir ITopology arayüzü oluşturun bu arayüz için bir uzantı yöntemi oluşturun (ör. public static int CountNodes (bu ITopology topologyIf)) daha sonra ITopology'yi uygulayan bir sınıf (örn. MyGraph) oluştururken, otomatik olarak Düğümleri Say uzantısına sahip olur. …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.