Позоришься пока только ты, причем не осознавая этого
А по моему тебе просто ответить более нечего. Подобная вялотекущая беседа утомляет, так что, если кроме обиженных речей типа "сам такой" тебе нечего сказать, иди-ка занимайся своими делами.
Цитатаmorglodddd ()
Если бы ты не был таким упортым C#ером ты бы знал, что указатель на объект, является указателем на его первое поле. В примере разница между указателями = 4 и ваш кэп, указатель на поле 'a', таким образом является указателем на объект.
О, то есть, ты признал, что я был прав, да? И что указателей на reference type в С# нет? Вот и отлично, еще раз обосрался - главное теперь, чтобы мы это закрепили.
Цитатаmorglodddd ()
что указатель на объект, является указателем на его первое поле.
А с чего ты взял, дорогой ты наш эксперт, что данные полей будут физически размещены именно в том порядке, в котором они объявлены, мм?
Сообщение отредактировал wcpt - Четверг, 26 Июня 2014, 19:01
Я и коллега по холивару выразили свое мнение в начале топика, надо же неадекватов на место ставить
ЦитатаHPlusDiese ()
А почему нет? Обычно так и происходит.
присоединяюсь, если бы лалка имела хоть немного реального опыта, догадалась бы что за всем этим мусором, .NET бы просто не уследил ну или по производительности было бы полный атас.
И кстати, ололо, лалка изначально чушь начала нести про reference type
Цитата
Во-вторых, про это: "в языке N нет указателей -> язык N говно!" - ты, конечно, ждешь, что я процитирую именно такие слова. Но заметь, я лишь привел пример, оттого там стоит словечко "типа", гроссмейстер. Но и тем не менее: "На самом деле с C# лучше не начинать, т.к. потом будет намного сложнее перейти на нормальный язык." - твои словечки, а "Возможность работать как на низком, так и на высоком уровне." нежно намекает на использование указателей.
либо ты спорол полную фигню (как обычно), либо смысл в том что мне не нравится C# из за того что там не указателей (при том что я не говорил что мне он не нравится), при том что reference type и есть по сути умный указатель Омг wcpt ты хотябы осознаешь, насколько у тебя проблемы с мышлением?
Обычно - это где, когда и при каких условиях, укажи пожалуйста, а?
Цитатаmorglodddd ()
(при том что я не говорил что мне он не нравится)
Так точно, и я такого не говорил. Ты просто сказал, что он не является нормальным. Но ты же нормальный, и любишь все только нормальное.
Цитатаmorglodddd ()
по сути умный указатель
Пойми уже, к чему я. Нас не интересует, что там "по сути", на, т.е. на более низком уровне. Я написал, что в C# нет указателей на reference type, безотносительно их природы. Я написал, и их действительно нет.
И что-то ты про "сильно урезанный ООП" не вспоминаешь - отрекся что ль, еретик?! Значит, по этому пункту ты обосрался - так держать
Сообщение отредактировал wcpt - Четверг, 26 Июня 2014, 23:33
wcpt тебе уже трое человек сказали, а ты все споришь и споришь.
мне много чего много какие люди говорят, и что, всех подряд слушать? Эти самые аж целых два человека(ну, на самом деле, два с половиной, если еще тебя посчитать) мне все никак доказать свою позицию не могут.
ЦитатаMrFrank ()
Грубо выражаешься.Тебе бан уже пора за ту чушь которую ты здесь пишешь.
давай-ка, золотце ты наше, конкретнее, что конкретно чушь, и почему бан?
Сообщение отредактировал wcpt - Пятница, 27 Июня 2014, 11:43
Обычно - это где, когда и при каких условиях, укажи пожалуйста, а?
Да всегда так. Все поля лежат друг за другом в том же порядке, в котором объявлены + выровнены с учётом настроек компилятора. Ну ещё в начале объекта может лежать vtable, но обычно указатель даётся на "данные" класса, пропуская эту таблицу.
Сообщение отредактировал HPlusDiese - Пятница, 27 Июня 2014, 00:08
Ну дык, это же можно как угодно повернуть. Smalltalk считают образцовым ОО-языком, и когда говорят "ООП урезано" нередко подразумевают: "поддерживаются не все ОО-фичи смолтока", а "полноценное ООП" - "все ОО-фичи смолтока". Нет, пруфов не будет. Ради бога, читай дальше. Это очень субъективно, правда. А вот скажи мне, что у тебя полноценное ООП: уж не приравниваешь ли ты его ко всем ОО-фичам С++? Или у тебя другое представление об этом вопросе? Как правильно задавать вопросы
Сообщение отредактировал -l33t-h4xx- - Пятница, 27 Июня 2014, 08:48
Хочу предложить вот такую спекуляцию. Вот, у нас есть ООП и есть C#, в котором ООП якобы урезано из-за отсутствия множественного наследования. Давайте исследуем эту проблему, начиная с самого низа.
Что есть краеугольный камень ООП? Объект, экземпляр класса. Что есть объект? Объект - некая сущность, которой мы отправляем сообщения. Объект обрабатывает сообщения, причём в общем случае нас не должно волновать, каким образом - инкапсуляция. Внутренности объекта не имеют значения, нам важно лишь то, какие сообщения принимает объект и что происходит в результате.
Что есть наследование? Это создание нового класса на основе существующего (да, согласен, очевидные вещи, вы их лучше меня знаете - не спешите, пожалуйста, мне они нужны для полноты рассуждения). Наследование следует понимать не иначе как то, что производный класс способен принимать все те же сообщения, что и базовый - полиморфизм. И это правильно, потому что экземпляр класса для пользователя определяется только набором принимаемых сообщений.
Что есть множественное наследование? Очевидно, это понятие не должно принципиально отличаться от немножественного, единичного наследования, а отличаться оно должно только количеством базовых классов. Множественное наследование - создание нового класса на основе ряда существующих. Понимать его нужно так: экземпляры производного класса принимают все сообщения, доступные базовым классам.
Вообще-то не все согласны, что без множественного наследования не может быть полноценного ООП, но эта концепция действительно удобна, когда нам приходится иметь дело с более или менее приближенными к действительности объектами, поэтому положим, что без множественного наследоваиня и правда нельзя. Будем считать, что без множестенного наследования ООП урезано.
Выше говорилось, что в C# нет множественного наследования. Так ли это?
Под этим, конечно, подразумевалось, что в C# недоступен такой синтаксис:
Код
class Human: Mammal, Sentient { // где Mammal и Sentient - классы // . . . }
Спорить тут нечего, такого синтаксиса в C# и правда нет. Но стоить положить, что Mammal и Sentinent суть интерфейсы - и мы тут же получаем настоящее множественное наследование, потому что класс в C# способен реализовать несколько разных интерфейсов. Интерфейс есть ни что иное как абстракция сипипишного виртуального класса, без какой-либо реализации: он является перечнем сообщений, которые должны уметь получать производные классы.
-l33t-h4xx-, на самом деле все проще с множественным наследованием. Нынче в моде стала агрегация (включение), и умные дядьки говорят что выбирать надо ее, а не наследование. Агрегацией можно сделать любую фичу наследования (имхо, может и не любую, но я о таких не знаю). И понятно что можно агрегировать любое число классов. Мой блог Вики DirectX
Тебе не весело, потому что больше ты развить свое "наступление" не можешь. Мне же, наоборот, забавно читать этакие сказки тетушки-совы.
Цитатаmorglodddd ()
wcpt тебе никто не может ничего доказать, просто потому что ты аутист, сочувствую.
Опять продолжаешь в больничку играть? У тебя так много талантов, но однако же, полноценностью в смысле логического мышления ты не обладаешь Ну и если по сути - неверно. Мне никто из вас ничего не может доказать просто потому, что вы - типичные фанатики, и будете обмазываться(читай:защищать) своей обожаемой технологией, да поливать другие в любом случае, даже начиная критику с банальных глупостей, которые сказаны были не вами. Ну и "по сути", ни ты, ни твой "каллега" мне не ответили -> обосрались оба. Ничего, вам и на двоих позора многовато будет
Сообщение отредактировал wcpt - Пятница, 27 Июня 2014, 14:46