Файловая система
Не для кого не является секретом, что вся информация на компьютере хранится в виде файлов. Все файлы размещены на жестком диске компьютера. Упорядочиванием и обработкой файлов занимается как раз и занимается файловая система.
Файловую систему условно можно представить в виде таблицы. То есть жесткий диск компьютера при форматировании размечается на ячейки, которые называют кластерами. Каждый кластер занимает определенное дисковое пространство. Когда мы записываем информацию в виде файла на диск, то такой файл помещается в определенный кластер. Если размер файла больше, нежели размер кластера, то часть файла помещается в соседний свободный кластер и так далее.
Не для кого не является секретом, что вся информация на компьютере хранится в виде файлов. Все файлы размещены на жестком диске компьютера. Упорядочиванием и обработкой файлов занимается как раз и занимается файловая система.
Файловую систему условно можно представить в виде таблицы. То есть жесткий диск компьютера при форматировании размечается на ячейки, которые называют кластерами. Каждый кластер занимает определенное дисковое пространство. Когда мы записываем информацию в виде файла на диск, то такой файл помещается в определенный кластер. Если размер файла больше, нежели размер кластера, то часть файла помещается в соседний свободный кластер и так далее.
Что такое ISA и почему она важна?
ISA (Instruction Set Architecture) - Архитектура набора команд — это часть абстрактной модели компьютера, которая определяет, как программное обеспечение управляет процессором. ISA действует как интерфейс между компьютерной программой и оборудованием
ISA определяет поддерживаемые типы данных, регистры, то, как аппаратное обеспечение управляет основной памятью, ключевые функции (такие как виртуальная память), какие инструкции может выполнять микропроцессор. ISA можно расширить, добавив инструкции или другие возможности.
Понимание того, что может делать набор инструкций и как компилятор использует эти инструкции, может помочь разработчикам писать более эффективный код. Это также может помочь им понять вывод компилятора, который может быть полезен для отладки
ISA (Instruction Set Architecture) - Архитектура набора команд — это часть абстрактной модели компьютера, которая определяет, как программное обеспечение управляет процессором. ISA действует как интерфейс между компьютерной программой и оборудованием
ISA определяет поддерживаемые типы данных, регистры, то, как аппаратное обеспечение управляет основной памятью, ключевые функции (такие как виртуальная память), какие инструкции может выполнять микропроцессор. ISA можно расширить, добавив инструкции или другие возможности.
Понимание того, что может делать набор инструкций и как компилятор использует эти инструкции, может помочь разработчикам писать более эффективный код. Это также может помочь им понять вывод компилятора, который может быть полезен для отладки
Floating-point unit или FPU
FPU (Floating Point Unit) — блок, производящий операции с плавающей точкой или математический сопроцессор.
FPU помогает основному процессору выполнять математические операции над вещественными числами.
Типичными операциями являются сложение, вычитание, умножение, деление и извлечение квадратного корня. Некоторые FPU также могут выполнять различные трансцендентные функции, такие как экспоненциальные или тригонометрические вычисления, но точность может быть очень низкой, поэтому некоторые системы предпочитают вычислять эти функции в программном обеспечении.
FPU (Floating Point Unit) — блок, производящий операции с плавающей точкой или математический сопроцессор.
FPU помогает основному процессору выполнять математические операции над вещественными числами.
Типичными операциями являются сложение, вычитание, умножение, деление и извлечение квадратного корня. Некоторые FPU также могут выполнять различные трансцендентные функции, такие как экспоненциальные или тригонометрические вычисления, но точность может быть очень низкой, поэтому некоторые системы предпочитают вычислять эти функции в программном обеспечении.
Режим супервизора
Режим супервизора, привилегированный режим, режим ядра, kernel mode — режим работы процессора, как правило, используемый для выполнения ядра операционной системы.
В режиме супервизора или вообще не действуют ограничения защиты памяти, или же они могут быть произвольным образом изменены, поэтому код, работающий в данном режиме, как правило, имеет полный доступ ко всем системным ресурсам (адресное пространство, регистры конфигурации процессора и так далее).
У некоторых современных процессоров может присутствовать ещё более привилегированный режим гипервизора — используется с целью виртуализации, то есть обеспечения параллельной работы сразу нескольких операционных систем на одном процессоре.
Режим супервизора, привилегированный режим, режим ядра, kernel mode — режим работы процессора, как правило, используемый для выполнения ядра операционной системы.
В режиме супервизора или вообще не действуют ограничения защиты памяти, или же они могут быть произвольным образом изменены, поэтому код, работающий в данном режиме, как правило, имеет полный доступ ко всем системным ресурсам (адресное пространство, регистры конфигурации процессора и так далее).
У некоторых современных процессоров может присутствовать ещё более привилегированный режим гипервизора — используется с целью виртуализации, то есть обеспечения параллельной работы сразу нескольких операционных систем на одном процессоре.
Указатели для работы со стеком
Для работы со стеком нам нужны указатели.
1. SP (stack pointer) - указатель вершины стека. Указывает на адрес самого последнего добавленного элемента. Именно благодаря ему мы можем вносить и извлекать с вершины стека какие-то данные
2. BP (base pointer) - представляет из себя адрес начала фрейма, начиная с которого в стек вносятся или извлекаются значения. Используется для получения параметров.
Команды для работы со стеком:
push - поместить данные на вершину стека
pop - извлечь данные с вершины стека
Для работы со стеком нам нужны указатели.
1. SP (stack pointer) - указатель вершины стека. Указывает на адрес самого последнего добавленного элемента. Именно благодаря ему мы можем вносить и извлекать с вершины стека какие-то данные
2. BP (base pointer) - представляет из себя адрес начала фрейма, начиная с которого в стек вносятся или извлекаются значения. Используется для получения параметров.
Команды для работы со стеком:
push - поместить данные на вершину стека
pop - извлечь данные с вершины стека
big.LITTLE — это гетерогенная архитектура для смартфонов или планшетов, сочетающая в себе относительно небольшие и энергосберегающие ядра (LITTLE) с другими, гораздо более крупными и мощными, но с более высоким потреблением (big).
Зачем это нужно?
Идея состоит в том, чтобы создать многоядерный процессор, который сможет лучше удовлетворить современные потребности в динамических вычислениях и потреблять при этом меньше энергии.
Таким образом, когда вы просто используете камеру или ваш телефон находится в фоновом режиме, будут использоваться маленькие ядра, которые экономят заряд батареи, но обеспечивают достаточную производительность. А когда вы запускаете игру, то начинает работать большой пакет ядер, чтобы дать лучшую производительность.
Зачем это нужно?
Идея состоит в том, чтобы создать многоядерный процессор, который сможет лучше удовлетворить современные потребности в динамических вычислениях и потреблять при этом меньше энергии.
Таким образом, когда вы просто используете камеру или ваш телефон находится в фоновом режиме, будут использоваться маленькие ядра, которые экономят заряд батареи, но обеспечивают достаточную производительность. А когда вы запускаете игру, то начинает работать большой пакет ядер, чтобы дать лучшую производительность.
Мейнфрейм
Вычислительная система, ориентированная на бесперебойную работу при исключительно больших нагрузках при высоком уровне коэффициента использования, ну а понятней будет просто сказать специфичный сервер или же большой компьютер.
На самом деле, большинство компаний, использующих мейнфреймы используют их потому что так было ещё лет 30-40 назад и у них есть и инфраструктура, и кадры которые это всё поддерживают. Плюс миграция с платформы на платформу удовольствие не из дешёвых, а самое главное что это все еще работает.
Конечно с каждым годом некоторые компании отказываются от мейнфреймов, но также есть и те, кто покупает. Спросите зачем? На это есть всего одна причина: они надёжны. А так в целом за последние лет 20 число компаний, использующих мейнфреймы, почти не изменилось.
Вычислительная система, ориентированная на бесперебойную работу при исключительно больших нагрузках при высоком уровне коэффициента использования, ну а понятней будет просто сказать специфичный сервер или же большой компьютер.
На самом деле, большинство компаний, использующих мейнфреймы используют их потому что так было ещё лет 30-40 назад и у них есть и инфраструктура, и кадры которые это всё поддерживают. Плюс миграция с платформы на платформу удовольствие не из дешёвых, а самое главное что это все еще работает.
Конечно с каждым годом некоторые компании отказываются от мейнфреймов, но также есть и те, кто покупает. Спросите зачем? На это есть всего одна причина: они надёжны. А так в целом за последние лет 20 число компаний, использующих мейнфреймы, почти не изменилось.
Dataset
Датасет — это набор связанных, дискретных элементов связанных данных, к которым можно обращаться по отдельности или в комбинации или управлять ими как единым целым.
Датасет организован в некоторый тип структуры данных. В базе данных, например, датасет может содержать набор бизнес-данных (имена, зарплаты, контакты и тд). Сама база даных может рассматриваться, как датасет, так и содержащие в ней массивы данных, относящиеся к определенному типу информации, например данные о продажах для определенного корпоративного отдела.
Термин датасет возник в IBM, где он означал почти тоже самое, что и файл, так как в операционной системе для мэйнфреймов IBM датасет является единственным способом хранения информации. Сейчас датасеты используются для анализа и машинного обучения
Датасет — это набор связанных, дискретных элементов связанных данных, к которым можно обращаться по отдельности или в комбинации или управлять ими как единым целым.
Датасет организован в некоторый тип структуры данных. В базе данных, например, датасет может содержать набор бизнес-данных (имена, зарплаты, контакты и тд). Сама база даных может рассматриваться, как датасет, так и содержащие в ней массивы данных, относящиеся к определенному типу информации, например данные о продажах для определенного корпоративного отдела.
Термин датасет возник в IBM, где он означал почти тоже самое, что и файл, так как в операционной системе для мэйнфреймов IBM датасет является единственным способом хранения информации. Сейчас датасеты используются для анализа и машинного обучения
Датасеты в мейнфреймах
В мире мейнфреймов нет файлов и директорий, есть только датасеты.
Датасеты – есть всё. Т.е. единственный способ сохранить информацию. Датасеты бывают разные и для разных целей.
Если вы хотите сохранить какой-то текст, то сначала вы выделяете память для датасета, например, с фиксированой длиной в строке 80 и просто, редактируя датасет, пишете в него всё что вам нужно.
Но ведь фиксированая длинна в строке – не удобно, иногда может что-то не помещаться! Тогда можно использовать датасет с переменной длиной строки.
Хотите одновременно читать и писать данные? – всё можно, нужно использовать VSAM датасет и обращаться к нему через RLS (Record Level Sharing) – тогда вы сможете писать данные в одни блоки, а читать из других.
В мире мейнфреймов нет файлов и директорий, есть только датасеты.
Датасеты – есть всё. Т.е. единственный способ сохранить информацию. Датасеты бывают разные и для разных целей.
Если вы хотите сохранить какой-то текст, то сначала вы выделяете память для датасета, например, с фиксированой длиной в строке 80 и просто, редактируя датасет, пишете в него всё что вам нужно.
Но ведь фиксированая длинна в строке – не удобно, иногда может что-то не помещаться! Тогда можно использовать датасет с переменной длиной строки.
Хотите одновременно читать и писать данные? – всё можно, нужно использовать VSAM датасет и обращаться к нему через RLS (Record Level Sharing) – тогда вы сможете писать данные в одни блоки, а читать из других.
Time Sharing Option
TSO или буквально с английского «опция разделения времени» — интерактивное окружение распределения вычислительных ресурсов между многими пользователями, используемое в операционных системах для мэйнфреймов, разработанных IBM
TSO напрямую обычно используют программисты и системные администраторы мейнфрейма, позволяя им:
⁃ запускать задания в пакетном режиме
⁃ писать, компилировать и отлаживать программы
⁃ просматривать и редактировать наборы данных
⁃ заниматься поддержкой приложений для конечных пользователей.
Пользователь может взаимодействовать с TSO в двух режимах: с помощью командной строки, либо с помощью ISPF-интерфейса.
TSO или буквально с английского «опция разделения времени» — интерактивное окружение распределения вычислительных ресурсов между многими пользователями, используемое в операционных системах для мэйнфреймов, разработанных IBM
TSO напрямую обычно используют программисты и системные администраторы мейнфрейма, позволяя им:
⁃ запускать задания в пакетном режиме
⁃ писать, компилировать и отлаживать программы
⁃ просматривать и редактировать наборы данных
⁃ заниматься поддержкой приложений для конечных пользователей.
Пользователь может взаимодействовать с TSO в двух режимах: с помощью командной строки, либо с помощью ISPF-интерфейса.
Операционная система z/OS
64-битная серверная операционная система, разработанная компанией IBM для мейнфреймов собственного производства.
Содержит большинство функций, реализованных в 70-х годах, а в некоторых случаях даже в 60-х, z/OS также предлагает многие отличительные черты и элементы, идентичные таковым в ныне доступных открытых системах.
На данный момент z/OS поддерживает Java, Unix API и приложения, и легко взаимодействует с TCP/IP и Веб. Поддержка действующих стандартов функциональности в z/OS и поддержка Linux и OpenSolaris позволяет наращивать возможности для будущего использования.
z/OS является передовой ОС, разрабатываемой IBM, предназначенной для продолжительной работы с большим количеством операций с высоким уровнем безопасности и устойчивости.
64-битная серверная операционная система, разработанная компанией IBM для мейнфреймов собственного производства.
Содержит большинство функций, реализованных в 70-х годах, а в некоторых случаях даже в 60-х, z/OS также предлагает многие отличительные черты и элементы, идентичные таковым в ныне доступных открытых системах.
На данный момент z/OS поддерживает Java, Unix API и приложения, и легко взаимодействует с TCP/IP и Веб. Поддержка действующих стандартов функциональности в z/OS и поддержка Linux и OpenSolaris позволяет наращивать возможности для будущего использования.
z/OS является передовой ОС, разрабатываемой IBM, предназначенной для продолжительной работы с большим количеством операций с высоким уровнем безопасности и устойчивости.
Арифметические операции и логические процедуры
Арифметические операции включают в себя деление, умножение, вычитание модулей, обычное вычитание и сложение.
К группе логических преобразований причисляют логическое «и» и «или», то есть конъюнкцию и дизъюнкцию, а также сравнение данных на равенство. Такие процедуры, как правило, проводят над двоичными словами, состоящими из множества разрядов.
К специальным арифметическим операциям относятся нормализация, логический и арифметический сдвиги. Между этими преобразованиями есть существенная разница. Если при арифметическом сдвиге в местоположении меняют лишь цифровые разряды, то при логическом знаковый разряд присоединяется к движению.
Все эти операции выполняются в компьютере с помощь арифметико-логического устройства.
Арифметические операции включают в себя деление, умножение, вычитание модулей, обычное вычитание и сложение.
К группе логических преобразований причисляют логическое «и» и «или», то есть конъюнкцию и дизъюнкцию, а также сравнение данных на равенство. Такие процедуры, как правило, проводят над двоичными словами, состоящими из множества разрядов.
К специальным арифметическим операциям относятся нормализация, логический и арифметический сдвиги. Между этими преобразованиями есть существенная разница. Если при арифметическом сдвиге в местоположении меняют лишь цифровые разряды, то при логическом знаковый разряд присоединяется к движению.
Все эти операции выполняются в компьютере с помощь арифметико-логического устройства.
Арифметические операции и логические процедуры
Арифметические операции включают в себя деление, умножение, вычитание модулей, обычное вычитание и сложение.
К группе логических преобразований причисляют логическое «и» и «или», то есть конъюнкцию и дизъюнкцию, а также сравнение данных на равенство. Такие процедуры, как правило, проводят над двоичными словами, состоящими из множества разрядов.
К специальным арифметическим операциям относятся нормализация, логический и арифметический сдвиги. Между этими преобразованиями есть существенная разница. Если при арифметическом сдвиге в местоположении меняют лишь цифровые разряды, то при логическом знаковый разряд присоединяется к движению.
Все эти операции выполняются в компьютере с помощь арифметико-логического устройства.
Арифметические операции включают в себя деление, умножение, вычитание модулей, обычное вычитание и сложение.
К группе логических преобразований причисляют логическое «и» и «или», то есть конъюнкцию и дизъюнкцию, а также сравнение данных на равенство. Такие процедуры, как правило, проводят над двоичными словами, состоящими из множества разрядов.
К специальным арифметическим операциям относятся нормализация, логический и арифметический сдвиги. Между этими преобразованиями есть существенная разница. Если при арифметическом сдвиге в местоположении меняют лишь цифровые разряды, то при логическом знаковый разряд присоединяется к движению.
Все эти операции выполняются в компьютере с помощь арифметико-логического устройства.
Содержимое системного блока
⁃ Центральный процессор. Физически представлен довольно крупной микросхемой, включающей в себя множество транзисторов. Выполняет все математические расчеты.
⁃ Главная (материнская) плата. Является основой, объединяющей все компоненты в единую систему. На ней размещаются разъемы для подключения комплектующих, внутренние шины, преобразователи напряжения и пр.
⁃ Импульсный блок электропитания. Ответственен за преобразование сетевого переменного напряжения
⁃ Модули оперативной памяти. Представляют собой ряд микросхем, подключающейся к соответствующему разъему материнской платы.
Отметим, что вышеуказанные компоненты являются необходимыми для функционирования компьютера. Так, если без монитора включить системный блок можно, то без процессора это невозможно.
⁃ Центральный процессор. Физически представлен довольно крупной микросхемой, включающей в себя множество транзисторов. Выполняет все математические расчеты.
⁃ Главная (материнская) плата. Является основой, объединяющей все компоненты в единую систему. На ней размещаются разъемы для подключения комплектующих, внутренние шины, преобразователи напряжения и пр.
⁃ Импульсный блок электропитания. Ответственен за преобразование сетевого переменного напряжения
⁃ Модули оперативной памяти. Представляют собой ряд микросхем, подключающейся к соответствующему разъему материнской платы.
Отметим, что вышеуказанные компоненты являются необходимыми для функционирования компьютера. Так, если без монитора включить системный блок можно, то без процессора это невозможно.
Что такое SSD?
SSD, Solid State Drive – современный твердотельный накопитель. Для хранения информации используется флеш-память.
Есть 4 типа флеши-памяти:
⁃ SLC (Single Level Cell), где в каждой ячейке хранится по одному биту;
⁃ MLC (Multi Level Cells) – несмотря на нелогичное название, здесь всего два бита;
⁃ TLC (Triple Level Cells) с тремя битами на ячейку;
⁃ QLC (Quadruple Level Cells) – четыре бита на ячейку.
Кроме типа флеш-памяти есть еще один важный момент — контроллер. Он управляет операциями чтения/записи данных в ячейки памяти, следит за их состоянием, выполняет коррекцию ошибок, выравнивание износа ячеек, а также другие вспомогательные функции.
SSD, Solid State Drive – современный твердотельный накопитель. Для хранения информации используется флеш-память.
Есть 4 типа флеши-памяти:
⁃ SLC (Single Level Cell), где в каждой ячейке хранится по одному биту;
⁃ MLC (Multi Level Cells) – несмотря на нелогичное название, здесь всего два бита;
⁃ TLC (Triple Level Cells) с тремя битами на ячейку;
⁃ QLC (Quadruple Level Cells) – четыре бита на ячейку.
Кроме типа флеш-памяти есть еще один важный момент — контроллер. Он управляет операциями чтения/записи данных в ячейки памяти, следит за их состоянием, выполняет коррекцию ошибок, выравнивание износа ячеек, а также другие вспомогательные функции.
Жесткий диск (HDD)
HDD — устройство хранения данных, принцип записи информации в котором заключается в намагничивании областей на поверхности магнитных дисков(пластин).
Для организации хранения данных магнитный диск разбивается на дорожки и сектора, а совокупность дорожек, расположенных одна над другой
В зависимости от объема памяти, внутри корпуса HDD могут находиться до восьми пластин. Запись и чтение информации с пластины осуществляется при помощи магнитной головки.
За управление работой HDD отвечает электронная плата управления. На ней размещены центральный процессор с интегрированной ПЗУ, сервоконтроллер, кэш-память. Объем кэш-буфера в современных HDD достигает 512 МБ.
В зависимости от типоразмера жесткие диски можно разделить на две группы: 2.5-дюймовые HDD (нашли массовое применение в ноутбуках) и 3.5-дюймовые (применяются в персональных компьютерах, сетевых хранилищах и системах видеонаблюдения).
HDD — устройство хранения данных, принцип записи информации в котором заключается в намагничивании областей на поверхности магнитных дисков(пластин).
Для организации хранения данных магнитный диск разбивается на дорожки и сектора, а совокупность дорожек, расположенных одна над другой
В зависимости от объема памяти, внутри корпуса HDD могут находиться до восьми пластин. Запись и чтение информации с пластины осуществляется при помощи магнитной головки.
За управление работой HDD отвечает электронная плата управления. На ней размещены центральный процессор с интегрированной ПЗУ, сервоконтроллер, кэш-память. Объем кэш-буфера в современных HDD достигает 512 МБ.
В зависимости от типоразмера жесткие диски можно разделить на две группы: 2.5-дюймовые HDD (нашли массовое применение в ноутбуках) и 3.5-дюймовые (применяются в персональных компьютерах, сетевых хранилищах и системах видеонаблюдения).
3 уровня детализации в ER-моделях и моделях данных
Концептуальная модель данных — схема наивысшего уровня с минимальным количеством подробностей. Достоинство: возможность отобразить общую структуру модели и всю архитектуру системы. Менее масштабные системы могут обойтись и без этой модели. В этом случае можно сразу переходить к логической модели.
Логическая модель данных содержит более подробную информацию, нежели концептуальная модель. На этом уровне определяются более подробные операционные и транзакционные сущности. Логическая модель не зависит от технологии, в которой она будет применяться.
Физическая модель данных: на основе каждой логической модели данных можно составить одну или две физических модели. В последних должно присутствовать достаточно технических подробностей для составления и внедрения самой базы данных.
Концептуальная модель данных — схема наивысшего уровня с минимальным количеством подробностей. Достоинство: возможность отобразить общую структуру модели и всю архитектуру системы. Менее масштабные системы могут обойтись и без этой модели. В этом случае можно сразу переходить к логической модели.
Логическая модель данных содержит более подробную информацию, нежели концептуальная модель. На этом уровне определяются более подробные операционные и транзакционные сущности. Логическая модель не зависит от технологии, в которой она будет применяться.
Физическая модель данных: на основе каждой логической модели данных можно составить одну или две физических модели. В последних должно присутствовать достаточно технических подробностей для составления и внедрения самой базы данных.
Что такое избыточность данных?
Избыточность данных относится к практике хранения данных в двух или более местах в базе данных или системе хранения данных. Потому что если каким то образом данные будут повреждены, их можно будет легко восстановить, не останавливая при этом рабочий процесс.
Избыточность данных может возникать намеренно или случайно. Если это делается преднамеренно, то чаще всего эти данные используются для резервного копирования или аварийного восстановления. Если же это делается случайно, дублирование данных может привести к их несоответствию.
Также существуют другие альтернативы для защиты и восстановления данных. Например, есть бэкапы непрерывная защита данных (CDP), shapShot и образы.
Избыточность данных относится к практике хранения данных в двух или более местах в базе данных или системе хранения данных. Потому что если каким то образом данные будут повреждены, их можно будет легко восстановить, не останавливая при этом рабочий процесс.
Избыточность данных может возникать намеренно или случайно. Если это делается преднамеренно, то чаще всего эти данные используются для резервного копирования или аварийного восстановления. Если же это делается случайно, дублирование данных может привести к их несоответствию.
Также существуют другие альтернативы для защиты и восстановления данных. Например, есть бэкапы непрерывная защита данных (CDP), shapShot и образы.
Процедурное программирование
программирование, при котором последовательно выполняемые операторы можно собрать в подпрограммы, чтобы сообщить компьютеру, что он должен делать шаг за шагом, чтобы завершить задачу под рукой.
Процедурное программирование является отражением архитектуры традиционных ЭВМ, которая была предложена Фон Нейманом в 1940-х годах. Теоретической моделью процедурного программирования служит машина Тьюринга.
Эта парадигма использует линейный нисходящий подход и рассматривает данные и процедуры как два разных объекта. Основываясь на концепции вызова процедуры, процедурное программирование делит программу на процедуры, которые также известны как процедуры или функции, просто содержащие последовательность шагов, которые необходимо выполнить.
программирование, при котором последовательно выполняемые операторы можно собрать в подпрограммы, чтобы сообщить компьютеру, что он должен делать шаг за шагом, чтобы завершить задачу под рукой.
Процедурное программирование является отражением архитектуры традиционных ЭВМ, которая была предложена Фон Нейманом в 1940-х годах. Теоретической моделью процедурного программирования служит машина Тьюринга.
Эта парадигма использует линейный нисходящий подход и рассматривает данные и процедуры как два разных объекта. Основываясь на концепции вызова процедуры, процедурное программирование делит программу на процедуры, которые также известны как процедуры или функции, просто содержащие последовательность шагов, которые необходимо выполнить.
ООП или объектно-ориентированное программирование
ООП — это подход, при котором программа рассматривается как набор объектов, взаимодействующих друг с другом.
ООП обычно определяют через четыре принципа. (иногда количество сокращают до трех — опускают понятие абстракции)
1. Абстракция — способ выделить набор наиболее важных атрибутов и методов и исключить незначимые.
2. Инкапсуляция — свойство системы, позволяющее объединить данные и методы, работающие с ними в классе и скрыть детали реализации от пользователя.
3. Наследование — описание нового класса на основе уже существующего с частично или полностью заимствующейся функциональностью.
4. Полиморфизм — когда методы разных объектов могут выполнять задачи разными способами. Например, у «человека» есть метод «работать». У «программиста» — это будет означать написание кода, а у «директора» — рассмотрение управленческих вопросов. Но глобально и то, и то есть работа.
ООП — это подход, при котором программа рассматривается как набор объектов, взаимодействующих друг с другом.
ООП обычно определяют через четыре принципа. (иногда количество сокращают до трех — опускают понятие абстракции)
1. Абстракция — способ выделить набор наиболее важных атрибутов и методов и исключить незначимые.
2. Инкапсуляция — свойство системы, позволяющее объединить данные и методы, работающие с ними в классе и скрыть детали реализации от пользователя.
3. Наследование — описание нового класса на основе уже существующего с частично или полностью заимствующейся функциональностью.
4. Полиморфизм — когда методы разных объектов могут выполнять задачи разными способами. Например, у «человека» есть метод «работать». У «программиста» — это будет означать написание кода, а у «директора» — рассмотрение управленческих вопросов. Но глобально и то, и то есть работа.
Структура ООП
Объекты и классы
Чтобы сделать код проще, программу разбивают на независимые блоки — объекты. В реальной жизни это может быть стол, чашка, человек и многое другое. В программировании объекты — это структуры данных, у них, как и у реальных предметов, могут быть свойства: цвет, содержание или имя пользователя. А чтобы объединить между собой объекты с похожими свойствами, существуют классы.
Класс — это «шаблон» для объекта, который описывает его свойства. Объект — это экземпляр какого-нибудь класса.
Атрибуты и методы
Атрибуты — это переменные, конкретные характеристики объекта, такие как цвет поля или имя пользователя.
Методы — это функции, которые описаны внутри объекта или класса. Они относятся к определенному объекту и позволяют взаимодействовать с ними или другими частями кода.
Объекты и классы
Чтобы сделать код проще, программу разбивают на независимые блоки — объекты. В реальной жизни это может быть стол, чашка, человек и многое другое. В программировании объекты — это структуры данных, у них, как и у реальных предметов, могут быть свойства: цвет, содержание или имя пользователя. А чтобы объединить между собой объекты с похожими свойствами, существуют классы.
Класс — это «шаблон» для объекта, который описывает его свойства. Объект — это экземпляр какого-нибудь класса.
Атрибуты и методы
Атрибуты — это переменные, конкретные характеристики объекта, такие как цвет поля или имя пользователя.
Методы — это функции, которые описаны внутри объекта или класса. Они относятся к определенному объекту и позволяют взаимодействовать с ними или другими частями кода.