Разница между классами и структурами

Разница между классами и структурами
Разница между классами и структурами

Видео: Разница между классами и структурами

Видео: Разница между классами и структурами
Видео: Структуры в C# | структуры и классы отличия | struct vs class | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 81 2024, Июль
Anonim

Классы и структуры

Некоторыми из основных концепций объектно-ориентированных (ОО) языков программирования являются инкапсуляция, наследование и полиморфизм. Класс и структура - это две объектно-ориентированные конструкции/инструменты, которые помогают программистам реализовать эти концепции в большинстве существующих объектно-ориентированных языков программирования (Java не предоставляет структур). Классы - это абстрактное представление объектов реального мира. Структуры очень похожи на классы с аналогичным использованием, но имеют несколько ограничений по сравнению с классами. И классы, и структура используются для группировки похожих типов данных вместе.

Что такое классы?

Классы изображают абстрактное представление объектов реального мира, а отношения показывают, как каждый класс связан с другими. И классы, и отношения имеют свойства, называемые атрибутами. Методы в классах представляют или определяют поведение этих классов. Методы и атрибуты классов называются членами класса. Как правило, инкапсуляция достигается за счет того, что атрибуты становятся закрытыми, а общедоступные методы можно использовать для доступа к этим атрибутам. Объект является экземпляром класса. Наследование позволяет пользователю расширять классы (называемые подклассами) из других классов (называемых суперклассами). Полиморфизм позволяет программисту подставлять объект класса вместо объекта его суперкласса. Как правило, существительные, встречающиеся в определении задачи, непосредственно становятся классами в программе. Точно так же глаголы становятся методами. Public, private и protected - типичные модификаторы доступа, используемые для классов. Диаграмма классов показывает классы систем, отношения между классами и их атрибуты.

Что такое структуры?

Как упоминалось выше, структуры очень похожи на классы с аналогичным использованием, но имеют немного ограниченные возможности, чем классы. Фактически классы можно рассматривать как расширение структур. Например, структуры такие же, как классы в C++, но по умолчанию они имеют открытые члены. Структура может быть определена пользователем для представления составного типа. Подобно классам, структуры содержат элементы, которые могут принадлежать многим типам. Ключевое слово struct используется для определения структуры в C и C++, а ключевое слово Structure используется для того же в языках программирования. NET.

В чем разница между классами и структурами?

Несмотря на то, что и классы, и структуры похожи друг на друга в языках программирования, они имеют тонкие различия. Обычно класс является расширением структуры, поэтому структуры имеют некоторые относительные ограничения. Например, структуры можно рассматривать так же, как классы в C++, но члены по умолчанию в классах не являются общедоступными (в отличие от структур). На самом деле это означает, что вы можете определить класс и структуру с точно такими же характеристиками, используя соответствующие модификаторы доступа в C++. Однако в C структуры не могут содержать никаких функций или перегруженных операций. Ключевые слова class и struct используются для определения класса и структуры в C++ соответственно. Когда речь идет о языках. NET (C, VB. NET и т. д.), класс - это ссылочный тип, а структура - тип значения. И обычно структуры используются для небольших объектов, а классы используются для более крупных объектов, которые хранятся в памяти в течение более длительного времени.

Рекомендуемые: