Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - pygubanov

Страницы: [1]
1
Всем привет.
Задался таким вопросом существует ли в ООП "Маски" которые при наложении на объект возвращают, только то, что соответствует маске (методы, свойства...)?
Почему возник такой вопрос, если использовать наследование от интерфейса или абстрактного класса, то это накладывает на этапе проектирования ограничения на объекты.
Как я себе представляю действие маски. Допустим имеется два класса несвязанные между собой базовыми наследованием, применяя к ним маску мы получаем доступ к одинаково именованным методам и свойствам, которые соответствуют маске.
class A
{
 public string name;
 public void  Test(){}
...
}

class B
{
 public string name;
 public void  Test(){}
....
}


Накладываем маску

{
A a;
B b;
Mask1 mask;
mask = new Mask1(a);
mask.Test();
string name = mask.name;

mask = new Mask1(b);
mask.Test();
string name = mask.name;

List<A> listA;
List<B> listB;
TestForALL(MaskList(listA));
TestForALL(MaskList(listB));
}

....

void TestForALL(MaskList list)
{
 for (int i=0; i<list.Count; i++)
 {
   list[i].Test();
   string name =  list[i].name;
 }
}


Что скажите?

2
Увидел новость на хабре "GCC 4.8 завершил миграцию на C++", в которой  упоминается, что первая версия GCC была написана на непереносимом диалекте языка Паскаль.
Нестандартный и непереносимый диалект языка Паскаль что это такое?

3
Y = λf.(λx.f (x x)) (λx.f (x x))  - wolframalpha не смогла понять

если убрать точки, заменив их на пробелы, то ответ будет Y = λ^3 f^3 x^6

Страницы: [1]