К основному контенту

Итоги - 7-я неделя (25.08.2022)

Visual Basic. Изучаю Классы, ещё подробнее о классах, модификаторы доступа,  область видимости, пространства имён и исходный код Jagged Alliance 2.


Итак. Я начал-таки изучать что такое классы, потом прошёлся ещё раз по этой теме (т.к. в в видеокурсе был дополнительный урок), потом были модификаторы доступа, область видимости, пространства имён и исходный код Jagged Alliance 2. Теперь подробнее.



Если говорить о классах, то я наполовину их понял и наполовину нет. Например я понял что они должны быть неким контейнером или если приводить аналогию - Телевизором - в котором содержится от посторонних глаз (инкапсулирован) некий код, который должен приводить в действие так называемую бизнес-логику Класса (там конечно есть ещё Shared-методы, с которыми можно что-либо делать и вне класса). А пульт управления этим Телевизором в данном случае - это вызывающий код, т.е. код, в котором мы вызываем этот Класс или как его ещё называют "зависимый код". Вообще тут стоит сделать небольшое отступление и немного раскрыть понятие "вызывающего" или точнее "зависимого" кода.

----------------------------------------------------------------------------------------------------

"Клиентский код" -- наш код можно назвать клиентским по отношению к другому коду, если наш код от этого другого кода зависит.


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

Пример (PHP-код):

// клиентский код:
$b = 2;
$a = 4 + mysum(6, 2); // вызов в клиентском коде
 
// "наша" функция:
function mysum($one, $two)
{
   return $one + $two;
}

В веб-приложении

В веб приложении, клиентским кодом можно назвать само приложение (тот код что пишите вы), этот код будет опираться на код фреймворка. Ваш код по отношению к коду фрейморка является клиентским.

----------------------------------------------------------------------------------------------------

Так вот, как я и сказал - с тем что из себя представляет этот Телевизор я разобрался, но вот в каких случаях его можно применять - эта тема была раскрыта не до конца со словами "этому можно учиться годами". Ну тут и без слов всё понятно - тема более широко раскрывается по мере накопления опыта работы с ней.

----------------------------------------------------------------------------------------------------

После этого о классах было ещё немного теории, после которой началось повествование о модификаторах доступа (в основном речь шла о 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/

----------------------------------------------------------------------------------------------------

Комментарии

Популярные сообщения из этого блога

  Итоги - 3-я неделя (28.07.2022) Computer Science и Visual Basic      Итак! Результаты 3-ей недели оказались немного не ахти, потому что я решал кое-какие свои проблемы со здоровьем (на что ушло где-то 4 дня). Оставшиеся 3 дня я посвятил своё свободное время поиску литературы по Computer Science и началу изучения Visual Basic.Net . Но обо всём по порядку. По книгам. Конечно же я начал свои поиски с того, что рекомендовал в своём видео Winderton (Youtube).  А именно: (2001) Code_ The Hidden Language of Computer Hardware and Software (460стр) (2005) Introduction to computing systems (629стр) (2007) Inside the machine_an illustrated introduction to computer (320стр) (2012) Glenn_Brookshear-Computer_Science_An_Overview-EN (624стр) (2018) Теоретический минимум по Computer Science. Все, что нужно программисту и разработчику (224стр) ------------------------------------------------------------------- Слава Богу, мне всё удалось найти. Но по ходу поисков я прихватил с...
  Итоги - 10-я неделя (15.09.2022) Visual Basic, Lua и уход в долгий ребут(reboot). Из новостей разве что то, что я закончил-таки смотреть видеокурс по Visual Basic. Далее я продолжал изучать Lua, дошёл до места, где объясняется как пользоваться функциями, что такое функции в Lua и всё в таком духе. Но самая пожалуй главная новость в том, что я должен уйти в долгий ребут, т.е. отойти от обучения программированию, либо сократить время на обучение, т.к. мне нужно утрясти пару очень важных дел. Надеюсь, что это не займёт много времени. И нет - это не значит, что я совсем забью на программирование. Время от времени буду публиковать тут заметки по поводу обучения, но уже реже. Когда ребут закончится - тогда вернусь к еженедельному ведению записей. На этом пока всё.