Найти тему
Журкин

Про ООП и язык C#.

Оглавление

Unity. Совиные думки от журавля.

Почему возникла эта статья?

Я, Журкин Никита Владимирович, автор этого текста, хочу разрабатывать игры. Чтобы не лениться и каждый день двигаться к своей цели, я выпускаю такие статьи, в которых объясняю на максимально простом уровне о изученном мной материале в сфере разработок игр. Таким образом весь материал будет надежно закреплен в моей голове, и, в конце концов, я стану профессионалом. Свой путь я начинаю с Unity и в будущем планирую именно с помощью него воплощать свои задумки. Буду очень рад, если таким образом я помогу не только вопреки своей человеческой природе ленивости достичь своих целей, но и помочь таким же новичкам, как я на данный момент. Так же хочу добавить, то, что у меня нет 7-ми пядей во лбу. Я не считаю себя гением. Я простой мальчишка, который хочет себя реализовать и которым могли бы гордиться его родители, а в далеком будущем хвастаться им его потомки. 27.12.2023

Почему статья именно такая, какая она есть - https://vk.com/zhurk1n?w=wall-180431430_291 Моя страница ВК - https://vk.com/nikitosich2003 Мое сообщество ВК - https://vk.com/zhurk1n

Цель

1) Должна получится коллекция статей, в которых максимально понятно и простым языком будет описана работа с Unity и С#. Термины будут использоваться, но для того, чтобы читатель был в курсе о их существовании.

2) В ходе составления статей я сам закреплю весь материал, о котором будет идти речь на очень хорошем уровне. Если о чем-то рассказывать, то это должно интуитивно понятно мне самому.
Думаю, этого достаточно.

Для какой аудитории?

Данные статьи предназначены для подписчиков моего сообщества. В нем большая часть людей можно описать словом «пользователь». Пользуются ИТ (Информационными Технологиями) и не задумываются о том, как это работает.

Статьи будут сейчас и будущем нацелены на такую аудиторию, чтобы им было интересно и понятно. В ходе их чтения простые пользователи встретят много терминов и моментов из разработки ПО (Программного обеспечения). Этим самым они смогут подтянуть свои познания в этой сфере.

В конце каждой статьи можете найти словарь сокращений и их обозначений. Полезные ссылки и материалы для дальнейшего своего изучения!

Начинаем

Я начал писать вторую статью, и в ней я хотел поговорить об объектах и их компонентах в Unity. Там я затронул большое количество терминов из программирования на C# и большую кучу определений объектно-ориентированного программирования. Из-за этого пришлось очень часто отходить от нашей главной темы изучения Unity. Именно это стало причиной появления отдельной статьи, ориентированной конкретно на C#.

Я сделал отдельный раздел в конце статьи в которой будет информация о моих источниках информации с которыми ты сможешь лично ознакомится.

Я ДАМ ФУНДАМЕНТ, НА КОТОРОМ ТЫ УВЕРЕНО СМОЖЕШЬ ПРОДОЛЖИТЬ ИЗУЧАТЬ С# В ДАЛЬНЕЙШЕМ САМОСТОЯТЕЛЬНО. Если я буду говорить о всем языке, то это будет не статья, а книга…

Прошлая статья - https://vk.com/@zhurk1n-unity-sovinye-dumki-ot-zhuravlya

Поговорим о языке программирования C#.

Почему о нем надо говорить и как он связан с Unity?

С# основной язык программирования, который использует Unity для разработки игр. Именно на нем пишутся свои компоненты для нужных объектов (о них поговорим в следующей статье). Так как C# одна из частей фундамента Unity и работы в этом двигателе, его необходимо изучить, понять и попрактиковаться.

Начну с далека.

История C#

Свое начало С# берет из языка С и С++. Поэтому немного поговорим о них.

Создание С знаменует собой начало современной эпохи программирования. Язык С был разработан Деннисом Ритчи в 1970-е годы для программирования на мини-Электронной Вычислительной Машины DEC PDP-11 под управлением операционной системы Unix. Язык С появился в результате революции в структурном программировании в 1960-е годы.

Операционная система (ОС) - это программное обеспечение, которое управляет компьютером и обеспечивает взаимодействие между компьютером и пользователем.

Что значит структурное программирование?

Структурное программирование - это фундаментальные подходы к организации и написанию программного обеспечения (одним словом – парадигма), в которой программы представляются как иерархическая структура групп инструкций, которые выполняют определенную функцию (блоки). Блоки могут быть последовательно соединены, ветвиться или повторяться

Если появилось структурное программирование, то какое было до него?

Процедурное программирование было до структурного.

В процедурном программировании программы представляются как последовательность вызовов блоков кода, которые выполняют определенную функцию. Первые языки высокого уровня, такие как Fortran, COBOL и ALGOL, были процедурными языками. Они позволяли программистам писать код, который был более похож на естественный язык, чем машинный код.

Хочу выделить язык Fortran. Если станешь крутым программистом, то когда-нибудь на собеседовании или на интервью могут спросить про самый старый и по сей день используемый язык программирования.

Fortran — это высокоуровневый, компилируемый, процедурный язык программирования, разработанный для числовых вычислений и научных вычислений. Он был разработан компанией IBM в 1950-х годах и является од

Копаем глубже!

До процедурного программирования были Ассемблеры.

Ассемблеры - это языки программирования, которые находятся между машинным языком и языками высокого уровня. Они позволяют программистам писать код, который ближе к машинному языку, чем языки высокого уровня, но все же более удобен для чтения и понимания.

Еще раньше

Машинное программирование - это процесс написания программ для компьютерных систем, которые работают непосредственно на языке, который понимают компьютеры, и он состоит из двоичных кодов.

А теперь на самое дно!!! До машинного программирования было ничего…

До машинного программирования компьютеры управлялись вручную. Программисты вводили инструкции в компьютер, используя переключатели и кнопки. Этот процесс был очень медленным и трудоемким, и он позволял программировать только очень простые задачи. Кстати первой программируемой машиной была аналитическая машина Чарльза Бэббиджа (1800-е годы). Но это уже совсем другая история.

Примеры языков
Примеры языков

Еще важно отметить, что все парадигмы программирования используются до сих пор. Нет лучшей парадигмы, есть та, которая подходит под определенную ситуацию лучше всех.

Парадигм много. Отмечают 3 основных парадигмы:
1) Функциональнаое
2) Структурное
3) Объектно-ориентированное

Вот пример других парадигм.

  • Аспектно-ориентированное программирование (AOP) позволяет разработчикам добавлять функциональность к существующим программам, не изменяя код этих программ. (Ветвь ООП)
  • Агентно-ориентированное программирование (AOP) позволяет разработчикам создавать программы, состоящие из агентов, которые взаимодействуют друг с другом. (Ветвь ООП)
  • Компонентно-ориентированное программирование (COP) позволяет разработчикам создавать программы из компонентов, которые могут быть повторно использованы в других программах. (Ветвь ООП)
  • Прототипно-ориентированное программирование (POP) позволяет разработчикам создавать новые объекты на основе существующих объектов. (Ветвь ООП)
  • Реактивное программирование (RP) позволяет разработчикам создавать программы, которые реагируют на изменения в окружающей среде. (Ветвь ООП)
  • Генеративное программирование (GP) позволяет разработчикам создавать программы автоматически.

В те времена С был не единственным структурным языком программирования. На момент создания уже существовали языки, функционал которых позже появился в С. Например семейство языков ALGOL (ALGOL 58, ALGOL 60, ALGOL 68) 1950-1960 годов выпуска или PL/1 1960 года от IBM. C(СИ) стал самым распространенным языком структурного программирования в 1980-е годы. Но даже у такого достойного языка, как С, имелись свои ограничения. К числу самых труднопреодолимых его ограничений относится неспособность справиться с большими программами.

Для решения проблемы больших программ было открыто новое направление программирования - объектно-ориентированное программирование (ООП). Сам язык С(СИ) не поддерживал ООП, что привело к созданию С++. В первые года С++ называли "С с классами", но в 1983 году дали нынешнее название.

Человеком, придумавший С++, был Бьярн Страуструп, и сделал он это в 1979 году. С++ считается не отдельным языком, а дополнение к С или попытка его усовершенствования. В 1990-х годах С++ стал самым популярным языком и по сей день обладает неоспоримыми преимуществами языка разработки высокопроизводительных программ системного уровня.

Например: С++ используется в разработке игр на движке Unreal Engine.

Бьярн Страуструп
Бьярн Страуструп

Далее в 1991 году в компании Sun Microsystems Джеймс Гослинг, Патрик Ноутон, Крис Уорт, Эд Фрэнк и Майк Шеридан начинают разработку языка программирования Java. Причиной появления этого языка была переносимость кода для конкретного процессора и операционной системы.

Если простым языком, то мы имеем два процессора. На одном процессоре машинный код 111 значит сложение, а на втором наоборот вычитание. Получается, программа работает наоборот. Это плохо и не то что нам надо.

Переносимость программ на Java достигалась благодаря преобразованию исходного кода в промежуточный, называемый байт-кодом. Эта операция называется компиляцией и выполняет ее компилятор.

Компилятор — это программа, которая переводит исходный код программы на языке программирования в машинный код, который может быть выполнен компьютером.

Компиляция — это процесс преобразования исходного кода программы на языке программирования в машинный код, который может быть выполнен компьютером.

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

Этот байт-код затем выполнялся виртуальной машиной Java (JVM) — основной частью исполняющей системы Java. Таким образом, программа на Java могла выполняться в любой среде, для которой была доступна JVM.

Когда устанавливаете Minecraft на компьютер вы устанавливаете к игре еще JVM, чтобы работала игра и модификации к ней, так как они написаны на Java.

Зачем переносить код?

Чтобы не писать столько версий программ, сколько существует потенциальных процессоров и операционных систем на которых будет использоваться эта программа.

Но Java тоже не идеален. У него есть проблемы с прямым взаимодействием программ на других языках и рост популярности ОС Windows с которой нет полной связи. Например, Для создания полноценного пользовательского интерфейса Java-программисту может потребоваться использовать стороннюю библиотеку.

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

Для удовлетворения этих потребностей программирования корпорация Microsoft разработала в конце 1990-х годов язык C# как часть общей стратегии .NET. Впервые он был выпущен в виде альфа-версии в середине 2000 года. Главным разработчиком C# был Андерс Хейльсберг — один из ведущих в мире специалистов по языкам программирования.

Андерс Хейльсберг
Андерс Хейльсберг

Вот и вся история. Подробнее можешь прочитать сам в моих источниках, а я покажу древо языка С#.

Деревце
Деревце

Проблемы C, C++ и Java на сегодняшний день были решены и используя эти языки необходимо учитывать их нюансы, которые возникли из проблем в прошлом. Например библиотека классов Java Native Interface (JNI) позволяет Java-программам взаимодействовать с кодом, написанным на C или C++. Библиотеки классов обеспечивают высокую производительность, но могут быть сложными в использовании. А старые языки как Ассемблер или Fortran используются как узконаправленные для решения конкретных задач.

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

Важно объяснить что такое упомянутый .NET (дот нэт), а именно .NET Framework.

.NET Framework - это среда выполнения (runtime) для разработки и запуска приложений на платформах Windows. Она предоставляет набор инструментов и библиотек, которые упрощают создание и развертывание приложений.

Простыми словами это мост между кодом и аппаратным обеспечением. Загрузка кода программы в память, своевременное освобождение памяти, обработка ошибок и взаимодействие с другими программами, все это берет на себя среда выполнения. Это позволяет нам сосредоточится только на нашей программе. Что такое классы мы разберем далее.

Объектно-ориентированное программирование С#

Далее я расскажу о классах, методах, объектах и все то, что создало трудности при изучении этого раздела программирования у меня.

Если вы совсем новичок и не понимаете как создать переменную, что такое массив или типы данных ни о чем вам не говорят, то сейчас не углубляйтесь дальше в статью и переходите по этим ссылкам.

https://ulearn.me/

Это бесплатный сервис, на котором вы сможете изучить теорию и попрактиковаться писать на C#.

Так же рекомендую эти видео:

https://clck.ru/R6mdU - Канал SimpleCode.

https://clck.ru/37Tt8M - Курс школы ЯЮниор Романа Сакутина по C#

Так же смотри раздел с источниками!

Что такое ООП.

ООП - это подход к программированию, при котором программы состоят из объектов, которые взаимодействуют друг с другом.

Говоря “Объект” подразумевается буквально какой-либо объект в реальности, обладающий какими-либо свойствами и функциями. Например, объект-окно, его свойства: толщина, высота, ширина. Его функции: открыто-закрыто, продуваться, промерзать и т.д. Зависит от того для какой цели пишется программа в котором фигурируется окно.

Так же объект называют экземпляром класса.

Экземпляр класса – объект созданный по шаблону (классу, которому принадлежит объект).

Обычно в начале рассматривается основные свойства, которыми должен обладать любой ООП язык программирования. Если я сделаю так же, то ты будешь некоторое время не понимать несколько вещей, из-за которых придется перепрочитывать статью. Поэтому разберем для начала основные понятия, которые будут с тобой на протяжении всего программирования на C# и не только.

Kлacc представляет собой объединение разнотипных данных и функций, логически организованных в единое целое. Джон Пол Мюллер “C# для чайников”

Это единое целое будет являться новым типом данных, созданных вашими руками.

Класс - Это план, который описывает, что должен уметь объект и из чего он состоит. Журкин Никита (автор статьи)

Пример класса Воин с характеристиками воина. Что такое private и public разберем далее.
Пример класса Воин с характеристиками воина. Что такое private и public разберем далее.

Функция — это фрагмент кода, допускающий многократное использование. Джереми Гибсон БОНД “UNITY и C# ГЕЙМДЕВ от ИДЕИ до РЕАЛИЗАЦИИ”

Шикарное и понятное определение. НО! В C# их нет 🙂.

Простыми словами, если “функция” (на самом деле метод) является членом класса (находится в классе), то называется методом. Если метод находится не в классе, то его можно назвать “функцией”, но на самом деле это метод. А еще в любом случае “функция” будет в классе, а значит она метод 🙃.

Метод бега
Метод бега

Методы - это действия, которые может выполнять объект. Журкин Никита (автор статьи)

Скриншоты кода приведены в качестве примерного представления о чем идет речь. Правильный и красивый код смотрите в источниках и осваивайте во время практики.

Язык C# и ООП простыми словами одно и тоже С# = ООП. Любая программа написанная на C# является объектно-ориентированной. Чтобы поддерживать такой подход программирования в любом языке, в том числе C#, должны обладать тремя свойствами. Их еще называют столпами ООП.

  1. Наследование
  2. Инкапсуляция
  3. Полиморфизм

Эти три слова лучше всего запомнить, так как это основы и их спрашивают везде где идет работа с C# и другими ООП языками. При первом прочтении слова страшные и не понятные, но сейчас разберем что они значат и все будет хорошо.

ИНКАПСУЛЯЦИЯ

Инкапсуляция — это механизм программирования, объединяющий вместе код и данные, которыми он манипулирует, исключая как вмешательство извне, так и неправильное использование данных. ГЕРБЕРТ ШИЛДТ “ПОЛНОЕ РУКОВОДСТВО C# 4.0”

Например: Капот автомобиля, он сокрыт от внешнего мира буквально. Это не дает в нем ковыряться любому прохожему, это может сделать тот у кого есть определенные права и знания.

Реализуется она с помощью модификаторов доступа.

В C# существует пять модификаторов доступа:

  • private: доступ ограничен содержащим классом или структурой. Члены с модификатором private доступны только из кода в том же классе или структуре.
  • public: доступ не ограничен. Члены с модификатором public доступны из любого кода.
  • protected: доступ ограничен содержащим классом или структурой и производными классами. Члены с модификатором protected доступны из кода в том же классе или структуре, а также из кода в производных классах.public: доступ не ограничен. Члены с модификатором public доступны из любого кода.
  • protected internal: доступ ограничен содержащим классом или структурой, производными классами и текущей сборкой. Члены с модификатором protected internal доступны из кода в том же классе или структуре, а также из кода в производных классах и в текущей сборке.
  • internal: доступ ограничен текущей сборкой. Члены с модификатором internal доступны из кода в той же сборке, но не доступны из другой сборки, которая ссылается на нее.· private: доступ ограничен содержащим классом или структурой. Члены с модификатором private доступны только из кода в том же классе или структуре.

Структура – это тип данных, который позволяет объединить несколько переменных разных типов под одним именем, создавая единую структуру данных.

Синтаксис - это набор правил, определяющих, как писать код, чтобы компьютер его понимал.

Для дальнейшей работы в Unity надо запомнить всего лишь 3:

  • private
  • public
  • protected

Чтобы использовались другие модификаторы в разработке на Unity я не видел. Как только сам получу опыт использования таких модификаторов (internal и protected internal) , обязательно разберем их назначение и применение.

ВАЖНО ПОНИМАТЬ!
Инкапсуляция – это защита от тебя самого и тех, кто будет работать с кодом после тебя. Она не защищает твою программу от воздействия других программ.

ПОЛИМОРФИЗМ

Полиморфизм - это свойство, позволяющее одному интерфейсу получать доступ к общему классу действий. ГЕРБЕРТ ШИЛДТ “ПОЛНОЕ РУКОВОДСТВО C# 4.0”

Так же это понятие могут выразить следующим образом: "один интерфейс — множество методов".

Интерфейс – это инструкция, которая говорит классу, что он должен уметь делать, но не рассказывает, как именно это делать. Журкин Никита (автор статьи).

Важно помнить:

  • Интерфейсы могут иметь в себе уже готовый код для некоторых действий.
  • Класс может выполнять правила сразу нескольких интерфейсов.

Герберт Шилд приводит в качестве примера руль автомашины.

Руль - это интерфейс, котором прописано то, что должен делать руль, а именно: поворачивать в лево, поворачивать в право.

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

Я приведу такой пример.

В интерфейсе у нас написана команда взлететь

Для этого самолету необходимо разогнаться со взлетной полосы, а вертолету набрать обороты винтов. Получается команда одна, а способ выполнения разный.

Полиморфизм – это способность объектов разных классов по-разному реагировать на один и тот же запрос. Журкин Никита (автор статьи)

На чье определение опираться больше решайте сами. Полное понимание полиморфизма придет с опытом программирования.

Полиморфизм бывает нескольких типов.

  1. Полиморфизм подтипов:
    A) Позволяет объектам производного класса заменять объекты базового класса;
    Б) Основан на наследовании классов.
  2. Полиморфизм методов:
    A) Позволяет использовать один и тот же метод с разными аргументами или типами объектов;
    Б) Основан на перегрузке методов.

Перегрузка – это когда у вас есть несколько методов с одним названием, но типы данных запрашиваемые на обработку этими методами разные.

НАСЛЕДОВАНИЕ

Наследование – это процесс, в ходе которого один объект (производный) приобретает свойства и методы другого объекта (базового). ГЕРБЕРТ ШИЛДТ “ПОЛНОЕ РУКОВОДСТВО C# 4.0”

Пример кода: Класс Dog наследует поля имени и возраста у класса Animal. В синтаксисе обозначается как public class Dog : Animal

Пример кода
Пример кода

Еще одним примером наследования в C# - Односвязные и двусвязные списки.
Это линейная структура данных, в которых элементы (узлы) связаны между собой указателями.

Линейная структура данных - это структура данных, в которой элементы расположены в последовательном порядке. В линейной структуре данных каждый элемент имеет только один предшественник и один преемник.

К наиболее распространенным типам линейных структур данных относятся:

  • Массивы - это линейные структуры данных, в которых элементы хранятся в непрерывных ячейках памяти. Массивы имеют постоянную длину, которая определяется при объявлении массива.
  • Связные списки - это линейные структуры данных, в которых элементы связаны друг с другом с помощью указателей. Связи позволяют легко добавлять и удалять элементы из списка.
  • Стек - это линейная структура данных, в которой добавление и удаление элементов происходит с одного конца. Стек используется для реализации операций LIFO (последний пришел - первый ушел).
  • Очередь - это линейная структура данных, в которой добавление и удаление элементов происходит с разных концов. Очередь используется для реализации операций FIFO (первый пришел - первый ушел).

В случае односвязных и двусвязных списков базовым классом является класс List. Класс List предоставляет общие свойства и методы для всех списков, таких как добавление и удаление элементов, поиск элементов и получение элементов по индексу.

Односвязный список наследуется от класса List и добавляет к нему только один дополнительный свойств - указатель на следующий элемент списка. Двусвязный список наследуется от класса List и добавляет к нему два дополнительных свойства - указатели на предыдущий и следующий элементы списка.

На этом я закончу говорить об ООП.

Для дальнейшего изучения Unity, необходимо еще поговорить об пространстве имен.

ПРОСТРАНСТВО ИМЕН

Тут будет легче привести пример.

Представь, что пространства имен в C# - это как шкафы с ящичками на кухне:

  • Каждый шкафчик - это отдельное пространство имен.
  • Каждый ящичек внутри шкафа - это класс, функция или переменная.

Зачем они нужны:

  • Чтобы не было путаницы: Если у тебя на кухне всё лежит вперемешку, сложно найти нужный предмет. Так и в коде: если все имена классов и функций будут в одном месте, будет сложно разобраться, что к чему относится. Пространства имен помогают разделять код на логические группы.
  • Чтобы избежать конфликтов: Если у тебя два ножа одинаковой формы, их сложно отличить друг от друга. Так же и в коде: если у тебя будут два класса с одинаковым именем, компилятор не поймет, какой из них ты имеешь в виду. Пространства имен решают эту проблему, позволяя давать одинаковые имена классам и функциям, но в разных пространствах имен.
Синтаксис пространства имен
Синтаксис пространства имен
Чтобы создать пространство имен используют команду namespace
Чтобы использовать пространство нужно использовать команду using и имя самого пространства.

Заключение

ООП в Unity с C# позволяет создавать хорошо структурированные, модульные и расширяемые игры, эффективно управляя сложностью и облегчая командную разработку. Узнав историю языка и разобрав основные термины и смысл, который они несут за собой, дает тебе хороший фундамент для начала изучения C# самостоятельно. Даже читать официальную документацию .NET или обучающий материал по C# от Microsoft после этой статьи будет легче.

Важно понимать, что программистом из тебя сделает только практика. Прочтение книги или просмотр обучающего видео сделают из тебя только того, кто прочел книгу по программированию или посмотрел видео об этом, но не программистом. Ссылки на практику и теоретические источники для глубокого изучения C# я оставлю в источниках. Пожалуйста, не игнорируй этот блок.

Дальше я продолжу погружаться в Unity и изучать C# в пределах этого двигателя. Следующие статьи будут часто использовать термины, которые были разобраны в этой.

Пусть пламя в твоей груди
-11

Источники

Практика + теория:

  1. https://www.schoolsw3.com/cs/exercise.php На сайте можно попрактиковаться и участвовать в викторине по C# и другим языкам программирования
  2. https://ulearn.me/ Практические упражнения по C# и теория в виде видео перед каждым упражнением на его тематику. Так же есть курсы по информационной безопасности, компьютерным сетям и многое другое.
  3. https://gocoding.org/ru/c-practice-exercises/#C_Basic_Exercises Список упражнений для написания кода, но увы, проверить и получить подсказки в трудных моментах нельзя.
  4. https://vinceumo.github.io/devNotes/Dotnet/c-practice/ Упражнения + готовые решения.
  5. https://learn.microsoft.com/ru-ru/dotnet/ Очень крутая документация по .NET с практическим применением С#. РЕКОМЕНДУЮ ЗАЙТИ И ХОТЯ БЫ ПОСМОТРЕТЬ ЧТО ТАМ ЕСТЬ! Сохраните его обязательно!
  6. https://pinkdeer.gitbook.io/knowledge/.net-core/02_csharp Теория + практика с решением упражнений.
  7. https://clck.ru/R6mdU - Канал SimpleCode.
  8. https://clck.ru/37Tt8M - Курс школы ЯЮниор Романа Сакутина по C#

Учебники:

  1. ГЕРБЕРТ ШИЛДТ “ПОЛНОЕ РУКОВОДСТВО C# 4.0”

http://ijevanlib.ysu.am/wp-content/uploads/2017/12/C-4.0-полное-руководство-Герберт-Шилдт_2011.pdf#page=32&zoom=100,44,60 Скачать.

https://www.chitai-gorod.ru/product/c-4-0-polnoe-rukovodstvo-per-s-angl-2260072 Купить.

  1. Джереми Гибсон БОНД “UNITY и C# ГЕЙМДЕВ от ИДЕИ до РЕАЛИЗАЦИИ”

https://vk.com/doc288422991_524249730?hash=z2GaXwlxna5QeKgPZg34vg5sDAtKKebl2SYdUDuei7H&dl=yz9TZEOo1T2u3eNuWRxA85CwBDFkZ8JXgGXEZHeXZGP Скачать.

https://www.chitai-gorod.ru/product/unity-i-c-geymdev-ot-idei-do-realizacii-2720316 Купить.

https://www.chitai-gorod.ru/product/c-dlya-chaynikov-2746030 Купить.

Словарь

Операционная система (ОС) - это программное обеспечение, которое управляет компьютером и обеспечивает взаимодействие между компьютером и пользователем.

Структурное программирование - это фундаментальные подходы к организации и написанию программного обеспечения (одним словом – парадигма), в которой программы представляются как иерархическая структура групп инструкций, которые выполняют определенную функцию (блоки). Блоки могут быть последовательно соединены, ветвиться или повторяться

Ассемблеры - это языки программирования, которые находятся между машинным языком и языками высокого уровня. Они позволяют программистам писать код, который ближе к машинному языку, чем языки высокого уровня, но все же более удобен для чтения и понимания.

Компилятор — это программа, которая переводит исходный код программы на языке программирования в машинный код, который может быть выполнен компьютером.

Компиляция — это процесс преобразования исходного кода программы на языке программирования в машинный код, который может быть выполнен компьютером.

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

.NET Framework - это среда выполнения (runtime) для разработки и запуска приложений на платформах Windows. Она предоставляет набор инструментов и библиотек, которые упрощают создание и развертывание приложений

ООП - это подход к программированию, при котором программы состоят из объектов, которые взаимодействуют друг с другом.

Класс - Это план, который описывает, что должен уметь объект и из чего он состоит. Журкин Никита (автор статьи)

Экземпляр класса – объект созданный по шаблону (классу, которому принадлежит объект).

Функция — это фрагмент кода, допускающий многократное использование. Джереми Гибсон БОНД “UNITY и C# ГЕЙМДЕВ от ИДЕИ до РЕАЛИЗАЦИИ”

Методы - это действия, которые может выполнять объект. Журкин Никита (автор статьи)

Инкапсуляция — это механизм программирования, объединяющий вместе код и данные, которыми он манипулирует, исключая как вмешательство извне, так и неправильное использование данных. ГЕРБЕРТ ШИЛДТ “ПОЛНОЕ РУКОВОДСТВО C# 4.0”

Структура – это тип данных, который позволяет объединить несколько переменных разных типов под одним именем, создавая единую структуру данных.

Синтаксис - это набор правил, определяющих, как писать код, чтобы компьютер его понимал.

Полиморфизм - это свойство, позволяющее одному интерфейсу получать доступ к общему классу действий. ГЕРБЕРТ ШИЛДТ “ПОЛНОЕ РУКОВОДСТВО C# 4.0”

Интерфейс – это инструкция, которая говорит классу, что он должен уметь делать, но не рассказывает, как именно это делать. Журкин Никита (автор статьи).

Полиморфизм – это способность объектов разных классов по-разному реагировать на один и тот же запрос. Журкин Никита (автор статьи)

Наследование – это процесс, в ходе которого один объект (производный) приобретает свойства и методы другого объекта (базового). ГЕРБЕРТ ШИЛДТ “ПОЛНОЕ РУКОВОДСТВО C# 4.0”

Наука
7 млн интересуются