C # эквивалент Java 'реализует' ключевое слово? - PullRequest
22 голосов
/ 04 февраля 2009

В Java, если бы вы имели утверждение:

public class MyClass implements LargerClass {

Будете ли вы расширять класс LargerClass несколькими методами?

Что было бы эквивалентно этому определению класса в C #?

Я спрашиваю, потому что я не очень хорошо знаком с Java и в настоящее время конвертирую некоторый код Java в код C #, и этот вызывает у меня некоторые проблемы.

Заранее спасибо.

Ответы [ 3 ]

66 голосов
/ 04 февраля 2009
public class MyClass implements LargerClass

В Java это объявляет, что MyClass реализует интерфейс LargerClass; то есть излагает реализации для поведения, определенного в LargerClass.

Чтобы наследовать от другого класса в Java, используйте extends, например,

public class MyClass extends LargerClass

Эквивалент C # в обоих случаях указан как

public class MyClass : LargerClass

Поскольку этот синтаксис не дает понять, является ли LargerClass интерфейсом или другим наследуемым классом, вы обнаружите, что разработчики на C # / .NET принимают соглашение о том, что имена интерфейсов начинаются с префикса «I», например IEnumerable.

7 голосов
/ 04 февраля 2009
public class MyClass : LargerClass
{

}
2 голосов
/ 04 февраля 2009
public class MyClass : LargerClass {...}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...