Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> interface 
V
    Опции темы
blackwitcher
Дата 10.6.2015, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



Bсем привет, недавно начал изучать C# и интересует вопрос, правильно ли я реализовал интерфейс? Всем спасибо smile 
Код

Код

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test15
{
    abstract class Animal
    {
        string petname, breed;
        public string PetName
        {
            get
            {
                return petname;
            }
            set
            {
                petname = value;
            }
        }
        public string Breed
        {
            get
            {
                return breed;
            }
            set
            {
                breed = value;
            }
        }
               
        public interface IName
        {
            void Show();
        }
    }
}



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test15
{
    class Cat:Animal,test15.Animal.IName
    {
        void IName.Show()
        {
            Console.WriteLine("I am {0} and I am {1}", PetName = "dog", Breed = "glad");
        }
    }
}




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test15
{
    class Dog:Animal,test15.Animal.IName
    {
        void IName.Show()
        {
            Console.WriteLine("I am {0} and I am {1}", PetName = "cat", Breed = "hungry");
        }
    }
}



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test15
{
    class Program
    {
        static void Main(string[] args)
        {
            Dog myDog = new Dog();
            Cat myCat = new Cat();
            Animal.IName my;
            my = (Animal.IName)myDog;
            my.Show();
            my = (Animal.IName)myCat;
            my.Show();
            Console.ReadKey();
        }
    }
}



Если плохо сбросил, то извините, еще не разобрался на форуме
PM MAIL   Вверх
Экскалупатор
Дата 10.6.2015, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



в принципе да, похоже на правду, только методы в реализациях должны быть public.


Цитата(blackwitcher @  10.6.2015,  13:52 Найти цитируемый пост)
Если плохо сбросил, то извините, еще не разобрался на форуме 

отредактируйте сообщение и уберите двойное оборачивание в код.
PM MAIL ICQ   Вверх
blackwitcher
Дата 10.6.2015, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



Цитата
Экскалупатор
в принципе да, похоже на правду, только методы в реализациях должны быть public.


если можно, то более подробно, а то полностью не понял smile 

Это сообщение отредактировал(а) blackwitcher - 10.6.2015, 16:53
PM MAIL   Вверх
Экскалупатор
Дата 10.6.2015, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



не про методы это я погорячился.
Код

        void IName.Show()
        {
            Console.WriteLine("I am {0} and I am {1}", PetName = "dog", Breed = "glad");
        }

можно написать так, но это ничего не меняет.
Код

        public void Show()
        {
            Console.WriteLine("I am {0} and I am {1}", PetName = "dog", Breed = "glad");
        }


и по хорошему интерфейс не должен быть внутри класса, вообще классы внутри классов это зло(ИМХО).

Код

            Animal.IName myDog = new Dog();
            Animal.IName myCat = new Cat();
            
            myDog.Show();
            myCat.Show();
            Console.ReadKey();

PM MAIL ICQ   Вверх
blackwitcher
Дата 10.6.2015, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 149
Регистрация: 11.1.2010

Репутация: нет
Всего: нет



Спасибо большое, теперь я разобрался smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0698 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.