Итоги - 7-я неделя (25.08.2022)
Visual Basic. Изучаю Классы, ещё подробнее о классах, модификаторы доступа, область видимости, пространства имён и исходный код Jagged Alliance 2.
Итак. Я начал-таки изучать что такое классы, потом прошёлся ещё раз по этой теме (т.к. в в видеокурсе был дополнительный урок), потом были модификаторы доступа, область видимости, пространства имён и исходный код Jagged Alliance 2. Теперь подробнее.
Если говорить о классах, то я наполовину их понял и наполовину нет. Например я понял что они должны быть неким контейнером или если приводить аналогию - Телевизором - в котором содержится от посторонних глаз (инкапсулирован) некий код, который должен приводить в действие так называемую бизнес-логику Класса (там конечно есть ещё Shared-методы, с которыми можно что-либо делать и вне класса). А пульт управления этим Телевизором в данном случае - это вызывающий код, т.е. код, в котором мы вызываем этот Класс или как его ещё называют "зависимый код". Вообще тут стоит сделать небольшое отступление и немного раскрыть понятие "вызывающего" или точнее "зависимого" кода.
----------------------------------------------------------------------------------------------------
"Клиентский код" -- наш код можно назвать клиентским по отношению к другому коду, если наш код от этого другого кода зависит.
Пример (PHP-код):
В веб-приложении
----------------------------------------------------------------------------------------------------
Так вот, как я и сказал - с тем что из себя представляет этот Телевизор я разобрался, но вот в каких случаях его можно применять - эта тема была раскрыта не до конца со словами "этому можно учиться годами". Ну тут и без слов всё понятно - тема более широко раскрывается по мере накопления опыта работы с ней.
----------------------------------------------------------------------------------------------------
После этого о классах было ещё немного теории, после которой началось повествование о модификаторах доступа (в основном речь шла о Public и Private). Модификаторы доступа нужны, чтобы иметь доступ к какой-либо переменной, методу или функции (если речь идёт о Public) вне того или иного блока кода и закрытой (недоступной) вне блока кода, где она была объявлена. Что-то вроде приватной чат-комнаты.
Есть ещё одно объяснение:
Private – аналогично ключевому слову Dim, использование Private вместо Dim актуально в том случае, если вы хотите, что бы данное ключевое слово напоминало о том, что переменная доступна только в пределах данной процедуры или функции. Public – позволяет сделать переменную VB доступной из любой части проекта, однако, это будет актуальным лишь в том случае, если объявление переменных в VB происходит в разделе Declarations (Объявления) самого модуля.
----------------------------------------------------------------------------------------------------
Далее была рассмотрена область видимости (вырезка из Википедии) - Область видимости (англ. scope) в программировании — часть программы, в пределах которой идентификатор, объявленный как имя некоторой программной сущности (обычно — переменной, типа данных или функции), остаётся связанным с этой сущностью, то есть позволяет посредством себя обратиться к ней. Говорят, что идентификатор объекта «виден» в определённом месте программы, если в данном месте по нему можно обратиться к данному объекту. За пределами области видимости тот же самый идентификатор может быть связан с другой переменной или функцией, либо быть свободным (не связанным ни с какой из них). Область видимости может, но не обязана совпадать с областью существования объекта, с которым связано имя.
----------------------------------------------------------------------------------------------------
После этого речь пошла о пространствах имён, и о том как работать с библиотекой классов .NET Framework. Пространство имён если по-простому - это когда есть некий файл (файл библиотеки), в которой есть перечень неких классов, и у каждого из этих классов есть уникальный идентификатор (имя). Так вот в рамках этого файла библиотеки (скажем CarClasses.dll) все классы находящиеся в нём находятся в пространстве имён CarClasses. Если библиотека называлась бы иначе (скажем BoatClasses), то пространство имён, в котором находятся классы этой библиотеки тоже называлось бы BoatClasses, потому что эти классы находятся в пространстве имён этой библиотеки. Пространство имён можно рассматривать как оглавление к книге (библиотеке), где перечислены ключевые пункты (классы, методы) рассматриваемых в книге тем.
В довершение ко всему этому было показано как работать с библиотекой классов .NET Framework, точнее как обращаться к той или иной библиотеке классов. В целом ничего сложного, просто было бегло показано что к чему. Т.е. суть такова - ты вызываешь библиотеку вначале файла, т.е. как бы прописываешь директиву (обычно директивы встречаются в более серьёзных ЯП, вроде C/C++) и далее по коду можешь уже вызывать (т.е. работать с) нужными классами, методами из этой библиотеки (или библиотек).
----------------------------------------------------------------------------------------------------
Ну и как вишенка на торте я решил для себя выбрать хобби-проект, на котором буду постепенно готовить себя к изучению C++. Рано или поздно я хочу раскусить этот орешек (т.е. C++). Я умудрился установить у себя на Windows 10 такую среду как Visual Studio 6.0 (1998 года выпуска) и скачал сам исходный код Ja2. С одной стороны на этом исходном коде я буду изучать язык C, а с другой (я конечно попробую, но гарантий, что справлюсь не даю), я попробую конвертировать этот древний C-код в C++ код. А потом, кто знает - может быть я создам свою модификацию этой игры (для меня это всего-лишь хобби, поэтому я занимаюсь этим только когда есть время и желание). На данном этапе мне очень интересно - сколько всего строчек кода содержит весь исходный код Jagged Alliance 2. Это чтобы я представлял себе честно весь объём работы, который придётся проделать в случае, если я захочу сделать более современную реализацию этого кода.
Ссылка на гайд по установке Visual Studio 6.0 на Windows 10 тут:
https://translated.turbopages.org/proxy_u/en-ru.ru.ac5c661a-630766af-b8cc0da4-74722d776562/https/www.codeproject.com/articles/1191047/install-visual-studio-on-windows
и тут:
https://computernewb.com/wiki/How_to_install_Visual_Studio_6.0_on_Windows_10
https://programmersought.com/article/82474208904/
----------------------------------------------------------------------------------------------------

Комментарии
Отправить комментарий
Оставьте свой комментарий здесь (Enter your comment here):