2013-06-24 2 views
-3

Мне нужно изменить класс ниже для реализации интерфейса, но я не знаю, как это сделать. Нет необходимости редактировать интерфейс? Как я могу предоставить этот класс для реализации? Я не знаю, как заполнить конструктор и convertToLower()Интерфейс реализации C#

public interface DenemeInterface 
{ 
    string convertToLower(); 
} 

public class Deneme : DenemeInterface 
{ 
    public Deneme(string s) 
    { 
    } 

    public string convertToLower() 
    { 
     return ""; 
    } 
} 
+3

Что вы думаете? –

+1

'Я не знаю, как заполнить конструктор и converttoLower()'. Что ты имеешь в виду? Интерфейс определяет метод без параметров, который возвращает строку. Класс, который реализует этот интерфейс, должен иметь метод без параметров с тем же именем и одинаковым типом возврата. –

+0

Скелет для реализации предоставляется вам, ваше задание - выполнять фактическую реализацию. Если вам нужна помощь в задании, вам нужно показать его. Кроме того, если вам нужна помощь в задании, вы должны четко указать это в вопросе, чтобы мы могли помочь вам таким образом, чтобы вы изучали то, что вам нужно знать. – Guffa

ответ

1

Я думаю, что я наконец-то понял, что вы пытаетесь сделать

Попробуйте это:

public interface DenemeInterface 
{ 
    string convertToLower(); 
} 
public class Deneme : DenemeInterface 
{ 
    string a; 
    public Deneme(string s) 
    { 
     this.a = s; 
    } 

    public string convertToLower() 
    { 
     return a.ToLower(); 
    } 
} 

Вы меня спрашивали в комментариях i wrote that string a=s; inside Deneme(string s) constructor but i cant use that variable which is name "a" inside convertToLower(). How can i store the value provided in the constructor ,

Вам нужно объявить его вне конструктора, или он будет доступен только внутри конструктора.

+0

Они много работали –

0

Вы уже реализующий интерфейс. Вы делаете это здесь:

public class Deneme : DenemeInterface 

В основном он читает «класс Deneme реализует DenemeInterface». Конечно, сам интерфейс требует метода, называемого convertToLower(), который возвращает строку. Но у вас уже есть это. Тебе хорошо идти. Одно замечание состоит в том, что интерфейсы обычно предшествуют «I». Поменяйте его на IDenemeInterface.

-Edit AHHH. Я думаю, что Конрад прав. В этом случае вам нужно будет что-то вроде этого:

public interface IDenemeInterface 
{ 
    string convertToLower(); 
} 

public class Deneme : IDenemeInterface 
{ 
    private string s; 

    public Deneme(string s) 
    { 
     this.s = s; 
    } 

    public string convertToLower() 
    { 
     return this.s.ToLower(); 
    } 
} 
+0

Они работали благодаря –