Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Наследование и интерфейсы. / 25 сообщений из 384, страница 1 из 16
19.10.2018, 16:09
    #39720043
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Если subClass наследуется от parentClass, которой реализует iParentable , то вопрос:

считается ли, что subClass реализует iParentable ???
...
Рейтинг: 0 / 0
19.10.2018, 16:10
    #39720044
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Агнец за бортом,

да
...
Рейтинг: 0 / 0
19.10.2018, 16:16
    #39720046
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Еще мнения?
...
Рейтинг: 0 / 0
19.10.2018, 16:26
    #39720053
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Агнец за бортом,

Какие еще могут быть мнение?
...
Рейтинг: 0 / 0
19.10.2018, 16:29
    #39720058
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Roman Mejtes,

Агнец за бортомсчитается ли,

Ну, хотя бы вопрос - кем считается? )))
...
Рейтинг: 0 / 0
19.10.2018, 16:40
    #39720073
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Агнец за бортомсчитается ли, что subClass реализует iParentable ???он не считается, он реализует
...
Рейтинг: 0 / 0
19.10.2018, 17:01
    #39720094
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
А мне кажется, парни, что вы не шарите.
...
Рейтинг: 0 / 0
19.10.2018, 17:14
    #39720100
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Агнец за бортомА мне кажется, парни, что вы не шарите.Значит у тебя есть основания считать иначе, ну поделись же, не томи
...
Рейтинг: 0 / 0
19.10.2018, 17:20
    #39720101
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Shocker.Pro,

Что будет в консоли?
...
Рейтинг: 0 / 0
19.10.2018, 17:52
    #39720115
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
игры с new - штука вредная
но пример демонстрирует, что класс Foo реализует iSpeak
а детали реализации - это внутреннее дело класса Foo
...
Рейтинг: 0 / 0
19.10.2018, 17:56
    #39720118
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Агнец за бортомShocker.Pro,

Что будет в консоли?
Тоже мне, бином Ньютона. "i am a parent" будет, потому как перекрытый унаследованный метод метод уже не является виртуальным, и не относится к реализации ISpeak. А поскольку объявленный тип - интерфейс, то вызов (callvirt) будет делаться в соответствии с его таблицей методов.
В IL это видно вполне хорошо:
Код: 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.
42.
.method public hidebysig newslot abstract virtual 
        instance void  SayWord() cil managed
{
} // end of method ISpeak::SayWord
.........................
.method public hidebysig newslot virtual final 
        instance void  SayWord() cil managed
{
  // Размер кода:       13 (0xd)
  .maxstack  8
  IL_0000:  nop
  IL_0001:  ldstr      "i am a parent"
  IL_0006:  call       void [mscorlib]System.Console::WriteLine(string)
  IL_000b:  nop
  IL_000c:  ret
} // end of method Bar::SayWord
..................
.method public hidebysig instance void  SayWord() cil managed
{
  // Размер кода:       13 (0xd)
  .maxstack  8
  IL_0000:  nop
  IL_0001:  ldstr      "i am a slave"
  IL_0006:  call       void [mscorlib]System.Console::WriteLine(string)
  IL_000b:  nop
  IL_000c:  ret
} // end of method Foo::SayWord
............
.method public hidebysig static void  Main() cil managed
{
  .entrypoint
  // Размер кода:       15 (0xf)
  .maxstack  1
  .locals init ([0] class test2.ISpeak 'instance')
  IL_0000:  nop
  IL_0001:  newobj     instance void test2.Foo::.ctor()
  IL_0006:  stloc.0
  IL_0007:  ldloc.0
  IL_0008:  callvirt   instance void test2.ISpeak::SayWord()
  IL_000d:  nop
  IL_000e:  ret
} // end of method Program::Main


И подобное уже обсуждалось.
Только вот какое отношение это всё имеет к утверждению, что класс, унаследовавший реализацию интерфейса от базового, не реализует интерфейс?
...
Рейтинг: 0 / 0
19.10.2018, 18:30
    #39720127
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Сон Веры ПавловныТолько вот какое отношение это всё имеет к утверждению, что класс, унаследовавший реализацию интерфейса от базового, не реализует интерфейс?
Мальчик открыл для себя модификатор new и решил нас этим удивить
...
Рейтинг: 0 / 0
19.10.2018, 18:36
    #39720129
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Дмитрий Мух,

Думаю, просто попытался обойти запрет на переопределение невиртуального метода, но ничего не получилось
...
Рейтинг: 0 / 0
19.10.2018, 18:53
    #39720135
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Дмитрий МухСон Веры ПавловныТолько вот какое отношение это всё имеет к утверждению, что класс, унаследовавший реализацию интерфейса от базового, не реализует интерфейс?
Мальчик открыл для себя модификатор new и решил нас этим удивить

Тебя, вякающего из кустов - сложно чем-то удивить.
...
Рейтинг: 0 / 0
19.10.2018, 18:55
    #39720136
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Shocker.ProДмитрий Мух,

Думаю, просто попытался обойти запрет на переопределение невиртуального метода, но ничего не получилось

Что значит обойти? new для этого и предназначен. Как это вообще должно выглядеть "обойти запрет"?))
...
Рейтинг: 0 / 0
19.10.2018, 18:57
    #39720137
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Сон Веры ПавловныТолько вот какое отношение это всё имеет к утверждению, что класс, унаследовавший реализацию интерфейса от базового, не реализует интерфейс?

Ну а как это воспринять?

Метод помечен new? Помечен.
Работает? Нет.

С virtual всё работает как надо.

Как в JAVA живут без этой мути - решительно не ясно.
...
Рейтинг: 0 / 0
19.10.2018, 19:01
    #39720139
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Агнец за бортомЧто значит обойти? new для этого и предназначен. Как это вообще должно выглядеть "обойти запрет"?))
Местные собаководы на эту тему уже высказывались .
...
Рейтинг: 0 / 0
19.10.2018, 19:02
    #39720140
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Агнец за бортомКак в JAVA живут без этой мути - решительно не ясно.
Будет ясно при изучении соотв. матчасти. В яве все методы изначально виртуальные.
...
Рейтинг: 0 / 0
19.10.2018, 19:04
    #39720141
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Агнец за бортомДмитрий Мухпропущено...

Мальчик открыл для себя модификатор new и решил нас этим удивить

Тебя, вякающего из кустов - сложно чем-то удивить.
Глупостью тут вообще кого-то сложно удивить.
Кстати, а в прошлый раз не ты ли задавал подобные вопросы, но под другим ником? Очень на тебя похоже.
...
Рейтинг: 0 / 0
19.10.2018, 19:15
    #39720143
Агнец за бортом
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Дмитрий МухГлупостью тут вообще кого-то сложно удивить
Вот если бы УГ, промычал что-то сразу после скрина с кодом, тогда бы еще тебя и имело смысл послушать.

Но так как ты выполз со своим говном после того, как Сон Веры Павловны всё разложил и дал ссылки на темы - цена твоим базарам - ровна тому, что у тебя прёт из-за всех дыр.

Не слишком сложно для тебя? Модератор: Прошу умерить пыл
...
Рейтинг: 0 / 0
19.10.2018, 20:42
    #39720157
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Агнец за бортом,

может уже ответишь на вопрос: какое отношение это всё имеет к утверждению, что класс, унаследовавший реализацию интерфейса от базового, не реализует интерфейс?

ИМХО надо ответить, а не прикрывать хамством свою глупость.
...
Рейтинг: 0 / 0
21.10.2018, 09:34
    #39720398
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Roman MejtesАгнец за бортом,

Какие еще могут быть мнение?subClass наследует iParentable
...
Рейтинг: 0 / 0
21.10.2018, 09:35
    #39720399
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
* наследует реализацию iParentable
...
Рейтинг: 0 / 0
21.10.2018, 10:45
    #39720408
Дмитрий Мух
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Можно ещё витиеватее сформулировать:

Тип subClass наследует данные и функциональность существующего типа parentClass, в том числе и реализацию интерфейса iParentable.

Вот только что от этого изменилось?
...
Рейтинг: 0 / 0
21.10.2018, 13:36
    #39720442
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование и интерфейсы.
Antonariy,
Да. Это коротко и понятно. Упрощает понимание перекрытия методов.
imho
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Наследование и интерфейсы. / 25 сообщений из 384, страница 1 из 16
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]