2009-02-04 14 views
20

In Java, se si dovesse avere la dichiarazione:C# equivalente della parola chiave "implements" di Java?

public class MyClass implements LargerClass { 

sareste estendendo la LargerClass con più metodi?

Quale sarebbe l'equivalente di questa definizione di classe in C#?

Chiedo perché non ho molta familiarità con Java e sto attualmente convertendo un codice Java in codice C# e questo mi sta dando qualche problema.

Grazie in anticipo.

risposta

63
public class MyClass implements LargerClass 

In Java, questo dichiara che MyClass implementa il interfaceLargerClass; ovvero, definisce le implementazioni per i comportamenti definiti in LargerClass.

A inherit da un'altra classe in Java, utilizzare extends, ad es.

public class MyClass extends LargerClass 

Il C# equivalente, in entrambi i casi, è specificato come

public class MyClass : LargerClass 

Dal momento che questa sintassi non chiarisce se LargerClass o non è un interfaccia o un'altra classe di essere ereditata, ti trovare gli sviluppatori C# /. NET adotta la convenzione secondo cui i nomi delle interfacce sono preceduti da "I" maiuscoli, ad es IEnumerable.

+2

Mi piace questa risposta meglio perché menziona la convenzione standard che è possibile utilizzare per distinguere tra interfacce e classi. –

+1

Anche in java questa convenzione viene usata convenzionalmente. – Ragnagord

7
public class MyClass : LargerClass 
{ 

} 
2
public class MyClass : LargerClass {...}