Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
Vla00
7 / 7 / 3
Регистрация: 06.10.2012
Сообщений: 476
#1

Реализация интерфейсов (только свойства) - C#

27.01.2017, 11:23. Просмотров 167. Ответов 6
Метки нет (Все метки)

Потребовалось реализовать множественное наследование, но в шарпе такое реализовать нельзя. Решил обратиться к интерфейсам. Но совсем не понял как их реализовать правильно.
C#
1
2
3
4
5
6
7
8
9
10
11
12
public class q1
    {
        public int i1 { set; get; }
        public int i2 { set; get; }
        public int i3 { set; get; }
    }
 
    public class q2
    {
        public int w1 { set; get; }
        public int w2 { set; get; }
    }
Необходимо реализовать наследование с третьем классе, который будет включать свойства классов q1, q2. Как это сделать?
Что бы потом из другого места я мог обраться к третьему классу и в котором уже содержались свойства этих двух классов.
C#
1
2
3
4
5
6
7
8
9
public class q3: q1{
 pulbic int ....
......
}
 
q3 _q3 = new q3();
_q3.i1 = 1;
_q3.w1 = 2;
//// и т.д.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2017, 11:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализация интерфейсов (только свойства) (C#):

Реализация Интерфейсов - C#
Читая книгу "Библия С#" Фленова Михоила, я наткнулся на тему интерфейсы. В этой теме меня немного заклинило. Вот например. Я реализую...

Наследование и реализация интерфейсов - C#
Есть всем известный класс List<T>. Он должен реализовать интерфейс IList<T>, который в свою очередь наследует ICollection<T>. ...

Реализация интерфейсов .NET - C#
Не совсем понимаю как работает данная реализация интерфейса IComparable int IComparable.CompareTo(object obj) { ...

Реализация интерфейсов класса - C#
Есть класс интерфейс: interface Transport { void SetName(string name); void SetTonnage(int tonnage); ...

Реализация интерфейсов. Поиск книг - C#
Условие: В библиотеке имеется список книг. Каждая запись этого списка содержит фамилии авторов, название книги, год издания, цена...

Реализация нескольких интерфейсов в одном классе - C#
добрый вечер, пожалуйста, помогите разобраться. есть средство передвижения, которое может вести себя как лодка или самолет using...

6
dotnethood
59 / 59 / 23
Регистрация: 14.12.2015
Сообщений: 141
27.01.2017, 11:42 #2
Vla00, привет!
C#
1
2
3
4
5
6
7
8
public interface INewInterface
{
   int I1 { get; set; }
}
public class A: INewInterface
{
   public int I1 { set; get; }
}
0
Studento
6 / 6 / 3
Регистрация: 07.12.2015
Сообщений: 33
Завершенные тесты: 1
27.01.2017, 11:49 #3
а если допустим наследовать от производного класса 2 т.е.
C#
1
2
3
4
5
6
7
8
9
class1
{
}
class2:class1
{
}
class3:class2
{
}
Добавлено через 1 минуту
по идее class3 будет включать свойства class1 и class2
0
Vla00
7 / 7 / 3
Регистрация: 06.10.2012
Сообщений: 476
27.01.2017, 11:53  [ТС] #4
Цитата Сообщение от Studento Посмотреть сообщение
а если допустим наследовать от производного класса 2 т.е.
У меня огромное количество свойств. И такой метод будет все время путать в переменных. Так как я буду использовать все три класса.
0
petrolium
Нарушитель
98 / 32 / 5
Регистрация: 05.10.2013
Сообщений: 176
Записей в блоге: 1
Завершенные тесты: 5
27.01.2017, 12:52 #5
абстрактный класс не поможет?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 abstract class BaseClass   // Abstract class
    {
        protected int _x = 100;
        protected int _y = 150;
        public abstract void AbstractMethod();   // Abstract method
        public abstract int X    { get; }
        public abstract int Y    { get; }
    }
 
    class DerivedClass : BaseClass
    {
        public override void AbstractMethod()
        {
            _x++;
            _y++;
        }
 
        public override int X   // overriding property
        {
            get
            {
                return _x + 10;
            }
        }
 
        public override int Y   // overriding property
        {
            get
            {
                return _y + 10;
            }
        }
 
        static void Main()
        {
            DerivedClass o = new DerivedClass();
            o.AbstractMethod();
            Console.WriteLine("x = {0}, y = {1}", o.X, o.Y);
        }
    }
    // Output: x = 111, y = 161
0
nedel
565 / 565 / 242
Регистрация: 09.04.2014
Сообщений: 1,327
Завершенные тесты: 1
27.01.2017, 13:00 #6
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public interface Iq1
    {
        int i1 { set; get; }
        int i2 { set; get; }
        int i3 { set; get; }
    }
 
public interface Iq2
    {
        int w1 { set; get; }
        int w2 { set; get; }
    }
public class q1: Iq1
    {
        public int i1 { set; get; }
        public int i2 { set; get; }
        public int i3 { set; get; }
    }
 
public class q2: Iq2
    {
        public int w1 { set; get; }
        public int w2 { set; get; }
    }
 
public class q3: Iq1, Iq2
    {
        public int i1 { set; get; }
        public int i2 { set; get; }
        public int i3 { set; get; }
        public int w1 { set; get; }
        public int w2 { set; get; }
    }
0
petrolium
27.01.2017, 19:56     Реализация интерфейсов (только свойства)
  #7

Не по теме:

чем в итоге все закончилось? жутко интересно

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2017, 19:56
Привет! Вот еще темы с ответами:

Где находится реализация интерфейсов в NET - C#
Например класса String

Реализация интерфейсов IEnumerable и IEnumerator для перебора статей - C#
В классе Magazine: реализовать интерфейс System.Collections.IEnumerable для перебора статей (объектов типа Article), авторы которых не...

Применение стандартных интерфейсов в собственных классах. Реализация итератора для класса. Создание клона - C#
Помогите, пожалуйста, сделать задачу Общая постановка задачи: Каждый разрабатываемый класс должен содержать: o скрытые данные ...

Применение стандартных интерфейсов в собственных классах. Реализация итератора для класса. Создание клона - C#
Общая постановка задачи: Каждый разрабатываемый класс должен содержать: o скрытые данные o перегрузку конструкторов o методы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
27.01.2017, 19:56
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru