powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Наследование и интерфейсы.
25 сообщений из 384, страница 3 из 16
Наследование и интерфейсы.
    #39720583
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухМожно ещё витиеватее сформулировать:

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

Вот только что от этого изменилось? По сравнению с тем, что написал я - ничего, лишь ненужного порожняка навалил.

Если же сравнивать, что написал я, с тем, что написал ТС - "subClass реализует iParentable" - изменился смысл. Потому что subClass iParentable не реализует, его реализует parentClass, а subClass его наследует.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720585
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyДмитрий МухМожно ещё витиеватее сформулировать:

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

Вот только что от этого изменилось? По сравнению с тем, что написал я - ничего, лишь ненужного порожняка навалил.

Если же сравнивать, что написал я, с тем, что написал ТС - "subClass реализует iParentable" - изменился смысл. Потому что subClass iParentable не реализует, его реализует parentClass, а subClass его наследует.
Ладо, ладно, ты гений точных формулировок, только не волнуйся
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720589
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухAntonariyпропущено...
По сравнению с тем, что написал я - ничего, лишь ненужного порожняка навалил.

Если же сравнивать, что написал я, с тем, что написал ТС - "subClass реализует iParentable" - изменился смысл. Потому что subClass iParentable не реализует, его реализует parentClass, а subClass его наследует.
Ладо, ладно, ты гений точных формулировок, только не волнуйся Я не волнуюсь, а объясняю очевидные вещи, как оказалось доступные пониманию не только лишь всех, что констатировать зело прискорбно.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720593
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyДмитрий Мухпропущено...

Ладо, ладно, ты гений точных формулировок, только не волнуйся Я не волнуюсь, а объясняю очевидные вещи, как оказалось доступные пониманию не только лишь всех, что констатировать зело прискорбно.
Реализация - это что? Это конкретный функционал.
Наследование - это что? Это когда один тип наследует данные и функционал другого.

Таки чем тебя моя формулировка не устраивает?
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720594
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухAntonariyпропущено...
Я не волнуюсь, а объясняю очевидные вещи, как оказалось доступные пониманию не только лишь всех, что констатировать зело прискорбно.
Реализация - это что? Это конкретный функционал.
Наследование - это что? Это когда один тип наследует данные и функционал другого.

Таки чем тебя моя формулировка не устраивает? Ооо, она прекрасна! Распечатай и повесь в рамочку.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720595
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyДмитрий Мухпропущено...

Реализация - это что? Это конкретный функционал.
Наследование - это что? Это когда один тип наследует данные и функционал другого.

Таки чем тебя моя формулировка не устраивает? Ооо, она прекрасна! Распечатай и повесь в рамочку.
Она - это всего лишь стёб. Леса исчезнут, если каждый в рамочку вешать
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720605
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМожно наследовать незнамо что, наугад, закрыв глаза?

Что за истерика? "Наугад, закрыв глаза.."


AntonariyТы явно указываешь, что нужно вызвать метод интерфейса, этот метод реализован в базовом классе, он и вызывается.

Я "явно указываю", что мне нужно вызвать метод класса, который "реализует", как тут утверждалось - интерфейс базового класса. Не надо выдумывать.

AntonariyТак все-таки знаешь - переопределенный.
Antonariyчто ты сам не знаешь, какой метод тебе нужен - базовый или переопределенный.
Ты упоролся что-ли, что значит "всё-таки знаешь"?? Я экземпляр ЯВНО создаю.

AntonariyА тебе нужно следующее:
Это уже пятая прямая/косвенная портянка кода с virtual - то как решить проблему - было известно на момент создания темы. Нафига ты её запостил?

AntonariyПри наличии new С2.Test независим от интерфейса, это такой же самостоятельный метод класса как Test2.

Ты вопрос темы читал? Читал. Ты на него ответил? Ответил. К чему вся эта писанина?

AntonariyПри наличии new С2.Test независим от интерфейса,
Ты можешь почитать, что пишет студия при попытке переопределить метод без new.
Если для того, чтобы понять это надо "лезть" в СIL-код, то это как раз таки хреново реализованная фича языка.

Ибо компилятор это пропускает, когда как по факту, это не то что говнокод - это обфускация.

AntonariyЭто чисто метод класса-наследника, он лишь название имеет такое же, как метод интерфейса.
У интерфейса нет методов, запомни. Методы у классов, когда это усвоишь - тогда welcome и лекции.

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

Да потому что она лажовая.

"Потому что subClass iParentable не реализует, его реализует parentClass, а subClass его наследует."

Скайана, большими буквамии - НЕ РЕАЛИЗУЕТ .

Ты опять облажался.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720608
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Повторение - мать учения.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720610
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyА ты как думал? Можно наследовать незнамо что, наугад, закрыв глаза?

Я расскажу - как я думал.

"Незнамо что" - это мой класс.

Я думал, что применив new - я скрою метод базового класса.

Я думал, что создав объект наследника ВПРЯМУЮ и вызвав метод, который я переопределил - я вызову именно его.

Если наследник НЕ реализует интерфейс, то почему компилятор позволяет привести наследника к типу интерфейса?

Если он делает приведение через базовый класс, то почему это _никак_ не видно? Ни в отладчике, нигде вообще?

В общем - выглядит, как баг. И ведет себя как баг. НЕ-ОЧЕ-ВИД-НО.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720611
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123hVosttпропущено...


Нет. Это тебе не нужно.
)) тоже верно.
У него чисто теоретический вопрос был.

Почему? Наборот - чисто практический.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720612
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомТы можешь почитать, что пишет студия при попытке переопределить метод без new.
Если для того, чтобы понять это надо "лезть" в СIL-код, то это как раз таки хреново реализованная фича языка.Я отродясь туда не лазил, мне достаточно браузер объектов посмотреть, чтобы понять, кто и как себя ведет.

Агнец за бортомИбо компилятор это пропускает, когда как по факту, это не то что говнокод - это обфускация.То есть ты ниасилил наследование и shadowing настолько, что тебе нужно лезть в CIL, чтобы понять, как работает первое и второе, а виноват в этом язык? Оригинально.

Вот тут табличка есть, авось осилишь: https://www.c-sharpcorner.com/UploadFile/ff2f08/overriding-vs-shadowing-in-C-Sharp/
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720613
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПереопределение методов поддерживает наследование.
Перегрузка методов не поддерживает наследование.

Я это не смог дешифровать.

Что значит поддерживает?

Где ты увидел перегрузку? Это ты с легкой руки new отнёс с перегрузке?
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720615
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомAntonariyА ты как думал? Можно наследовать незнамо что, наугад, закрыв глаза?

Я расскажу - как я думал.

"Незнамо что" - это мой класс.

Я думал, что применив new - я скрою метод базового класса.

Я думал, что создав объект наследника ВПРЯМУЮ и вызвав метод, который я переопределил - я вызову именно его.

Если наследник НЕ реализует интерфейс, то почему компилятор позволяет привести наследника к типу интерфейса?Потому что он его наследует. Это его тип.

Агнец за бортомЕсли он делает приведение через базовый класс, то почему это _никак_ не видно?Вообще-то это азы ООП. Отродясь так было, и даже смотреть там не на что.

Агнец за бортомВ общем - выглядит, как баг. И ведет себя как баг. Как баг твоего образования.
Агнец за бортомНЕ-ОЧЕ-ВИД-НО.
Почему-то всем остальным это очевидно как дважды два.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720617
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyПочему-то всем остальным это очевидно как дважды два.

Фигня. Ты единственный тут сказал, что наследник НЕ РЕАЛИЗУЕТ интерфейс. За это плюс конечно.
До этого момента все, которым это было "очевидно как дважды два" топили за "какие еще тут могут быть мнения".
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720619
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомДмитрий МухТаки чем тебя моя формулировка не устраивает? \

Да потому что она лажовая.

"Потому что subClass iParentable не реализует, его реализует parentClass, а subClass его наследует."

Скайана, большими буквамии - НЕ РЕАЛИЗУЕТ .

Ты опять облажался.
Ты бы читать сначала научился, прежде чем на лажу указывать.

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

Реализует parentClass, subClass наследует...

Всё как ты и хотел, **** ******. )))
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720620
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Агнец за бортомAntonariyПереопределение методов поддерживает наследование.
Перегрузка методов не поддерживает наследование.

Я это не смог дешифровать.

Что значит поддерживает?

Где ты увидел перегрузку? Это ты с легкой руки new отнёс с перегрузке?Да, я с легкой руки перевел на русский терминологию VB, потому что она более адекватно описывает то, что символизирует:

Код: 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.
Public Interface I1
    Sub Test()
End Interface

Public Class C1
    Implements I1

    Public Overridable Sub Test() Implements I1.Test
        Debug.Print("qwe")
    End Sub

    Public Sub Test2()
        Debug.Print("rty")
    End Sub
End Class

Public Class C2
    Inherits C1

    Public Overrides Sub Test()
        Debug.Print("sdf")
    End Sub

    Public Overloads Sub Test2()
        Debug.Print("fdsg")
    End Sub

End Class

Благодаря терминологии VB, адекватно описывающей поведение объектов словами Implements, Inherits, Ovverridable, MustOverride, NotOverridable, Overloads, Shadows и т.д., мне более чем очевиден весь ООП дотнета.

Не то что abstract, virtual и new - зная ООП и не зная C# хрен догадаешься, о чем это. Хоть override оставили, правда s потеряв.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720621
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий МухТы бы читать сначала научился,

Всё верно, вопрос прочитай в самом начале топика. Реализует или НЕ реализует.

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

Всё верно, вопрос прочитай в самом начале топика. Реализует или НЕ реализует.

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

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

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

ХТ, **** ******. )))
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720629
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFF
Агнец за бортомПочему? Наборот - чисто практический.ну это просто.
Практический вопрос это на ранг выше. Т.е. Предметка с именами сущностей в предметной области.
И зачем нужен класс поправленным интерфейсом.
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720631
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyзная ООП и не зная C# хрен догадаешься, о чем это.)
...
Рейтинг: 0 / 0
Наследование и интерфейсы.
    #39720632
Агнец за бортом
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

Подытоживая:

1. Наследник всё же реализует интерфейс, который имплементирует его базовый класс.
2. Но - делает это через базовый класс.

По поводу формулировок "реализует" - не знаю, как в управляемом коде получить доказательство обратного.

Код: c#
1.
2.
3.
Child child = new Child();

var isImplements = child is iFoo; //true
...
Рейтинг: 0 / 0
25 сообщений из 384, страница 3 из 16
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Наследование и интерфейсы.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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