Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!


[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 20 | 7 | 8
Назад Вниз Каталог Обновить

Православного ООП постижения тред Аноним 23/08/17 Срд 01:29:11  1049085  
14939457908820.png (694Кб, 1080x828)
Хотел вкатиться в программирование на C# (до этого писал на LUA и немного JS), но пытаясь учиться по официальным гайдам от M$, разбил себе голову, так как в теме с Hello World встретил слова "интерфейс", "класс", "метод", "пространство имён". После того, как я понял, что нихуя не понял, я понял, что без постижения ООП мне вообще нечего делать в шарпе. Нужны годные материалы по теме, с меня, как обычно, нихуя.
Аноним 23/08/17 Срд 01:30:32  1049087
>>1049085 (OP)
Такие треды всегда создаются раз в несколько месяцев, лол
Многие хотят найти истинный ооп
Аноним 23/08/17 Срд 01:31:39  1049089
femalecodercat.jpg (55Кб, 896x710)
Бамп
Аноним 23/08/17 Срд 01:33:39  1049091
>>1049087
Мне просто нужно понять ооп на том уровне, чтобы получить возможность понять библиюC#. Сама философия ооп не сильно упала.
Аноним 23/08/17 Срд 01:50:49  1049096
>>1049091

> истинный ооп

Я нашел, эт инверсия flow control при менеджменте зависимостей за счет полиформизма.
Аноним 23/08/17 Срд 01:53:51  1049097
https://github.com/dotnet/csharplang/blob/master/spec/README.md
Аноним # OP  23/08/17 Срд 01:54:10  1049098
sample15045cbbb[...].jpg (145Кб, 850x956)
Бамп
Аноним # OP  23/08/17 Срд 02:47:02  1049112
Ql1-5rdeaHI.jpg (36Кб, 451x433)
Бамп
Аноним 23/08/17 Срд 03:05:45  1049122
contributions.png (2Кб, 721x119)
Бамп
Аноним 23/08/17 Срд 07:06:04  1049181
tumblroosr1rhN4[...].png (286Кб, 500x700)
Бамп возрождающий
Аноним 23/08/17 Срд 12:03:13  1049351
>>1049085 (OP)
Тебе не ООП нужно изучать, а основы программирования. Класс и интерфейс тебе сейчас не нужен. Метод это просто функция. Пространство имен модуль, например файл с кодом, который назван по имени. И все функции внутри можно вызывать используя имя модуля. Например есть дом №40 по какой-то улице. В нем могут жить несколько Ивановых. Поэтому чтобы обратиться к нужному нам человеку, мы должны знать его квартиру. Тут тоже самое. Модуль нужен для того, чтобы функции с одинаковыми именами из одних файлов, не конфликтовали с такими же функциями из других файлов. Потому что если в одном модуле будет несколько функций с одинаковым именем, то как транслятор будет понимать какую вызвать. Поэтому нужно указать имя модуля и имя фукнции из модуля. Почитай СИКП, там в первой главе пространства имен, функции. Потом будут и разъяснения объектов (классы) и интерфейсов.
Аноним 23/08/17 Срд 12:05:55  1049355
>>1049091
>библиюC#
Что ты имеешь ввиду?

Без опыта будет сложно начинать с C#, Java, C++. Лучше взять JS, Python или Руби. Самое правильное начинать с Лиспа. СИКП и Scheme.
Аноним 23/08/17 Срд 12:12:44  1049363
>>1049085 (OP)
1) Попробуй RUST или Erlang.

2) ООП - это очень просто, книги писать не надо.

У тебя есть 2 некие сущности, которым нужно между собой взаимодействовать.
Это в общем случае некие модули программы(которые могут быть оформлены как объекты)
Суть ООП подхода в том, чтобы ввсти дополнительную сущность "сообщение", и отвязать модули друг от друга, связав их только сообщением.
Таким образом, что, отправитель сообщения, и получатель, никак не связанны друг с другом и друг от друга не зависят, но оба, зависят от сообщения.

В C# это через интерфейсы реализовывается. Но ООП в сиподобных языках в целом ублюдсткое.
Аноним 23/08/17 Срд 12:26:41  1049369
>>1049363
Если быть честным, то ООП в Java и C# не имеет никаких сообщений. Один объект вызывает функцию другого объекта. Почему это везде называют передачей сообщений, мне непонятно. Честно говоря туфта какая-то получается. Зачем вызывать функцию через левый объект, если можно вызвать напрямую?

На Эрланге пробовал писать, сложна. Библиотек мало, не знаешь что написать. Раст кажется вообще запутанным, даже Хаскелль выглядит полегче. Какие языки можешь посоветовать, чтобы без джавового ООП?
Аноним 23/08/17 Срд 12:46:09  1049385
>>1049369
>Один объект вызывает функцию другого объекта
Это и есть сообщение.
>Зачем вызывать функцию через левый объект, если можно вызвать напрямую?
Потому что в первом случае тебе надо создать один объект, а во втором создать все объекты.
Аноним 23/08/17 Срд 12:59:28  1049388
>>1049385
>Это и есть сообщение.
Какой в этом смылс, какие выгоды, для чего? Можно же вызвать функцию безо всяких объектов. Например создать лямбду.

>Потому что в первом случае тебе надо создать один объект, а во втором создать все объекты.
Не много не понял. Что значит создать все объекты? Имеем объект автомобиль и объект двигатель, зачем вызывать функцию запуска двигателя из объекта автомобиль? Можно же вызывать функцию напрямую. Или использовать анонимную функцию, а данные в отдельных структурах. Это же более модульно получается. И вроде такое еще называют полиморфизмом.
Аноним 23/08/17 Срд 13:06:57  1049394
>>1049388
>создать лямбду
Одно из преимуществ ООП это возможность понимать код и его повторно использовать.
>Что значит создать все объекты?
То, что пока объект создан и нужен, он есть на куче, а когда ненужен, он убирается. Если ты не будешь создавать объектов, они уже все должны быть созданы.
Аноним 23/08/17 Срд 13:10:17  1049395
>>1049388
>И вроде такое еще называют полиморфизмом.
Это и есть ООП в системе типов страусупа(С++)

>>1049369
>Если быть честным, то ООП в Java и C# не имеет никаких сообщений.
Как ООП может иметь или не иметь конкретные языковые конструкции?
ООП - это принцип, идея.
Идея сообщений в С# реализуется через интерфейсы.

>>1049363
>В C# это через интерфейсы реализовывается.
>В C# это через интерфейсы реализовывается.
>В C# это через интерфейсы реализовывается.
>В C# это через интерфейсы реализовывается.
>В C# это через интерфейсы реализовывается.

Ты чем читаешь, дебила кусок?

>Один объект вызывает функцию другого объекта. Почему это везде называют передачей сообщений
Потому, что, это, передача, сообщений.

>мне непонятно. Честно говоря туфта какая-то получается.
Учись, развивайся, может поймешь.

>Зачем вызывать функцию через левый объект, если можно вызвать напрямую?
В смысле "ЛЕВЫЙ", схули он левый?
Наличие языковой конструкции "объекта" никак несвязанно с ООП и сообщениями.
Можно функцию без объекта.

>>1049363
>Это в общем случае некие модули программы(которые могут быть оформлены как объекты)
>Это в общем случае некие модули программы(которые могут быть оформлены как объекты)
>Это в общем случае некие модули программы(которые могут быть оформлены как объекты)
>Это в общем случае некие модули программы(которые могут быть оформлены как объекты)
>Это в общем случае некие модули программы(которые могут быть оформлены как объекты)
>Это в общем случае некие модули программы(которые могут быть оформлены как объекты)
А могут и не быть.

Еще раз, перечитай, 10 раз, 20 раз, 30 раз.

А потом кукарекай.

>На Эрланге пробовал писать, сложна.
Бида.

>не знаешь что написать.
Может с этого стоит начинать?

>Какие языки можешь посоветовать, чтобы без джавового ООП?
Питон, GO, lisp, Cи.
Аноним 23/08/17 Срд 13:25:58  1049401
>>1049388
>Какой в этом смылс, какие выгоды, для чего?

Выгода инверсии flow of control объясняется SOLID-принципами.
Аноним 23/08/17 Срд 20:06:29  1049645
kurukuruandnata[...].jpg (75Кб, 781x919)
>>1049351
Настолько базовые вещи я понимаю. Я целый сервер написал на LUA. (MTA). Там как раз целыми ассемблями скрипты пишутся. Экспортируются, вызываются. Без небольшого функционального подхода я бы там ничего не написал. Просто я путаюсь конкретно на интерфейсах и общей спецификации шарпа, мне её тяжело понять. Это я про твоё первое-второе-третие предложения. А за остальное спасибо тебе, ознакомлюсь с СИКП.
Аноним 29/08/17 Втр 06:28:56  1053092
>>1049645
Спустя время я все же понял шарп.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 20 | 7 | 8
Назад Вверх Каталог Обновить

Топ тредов
Избранное