Слайд 1
Презентация на тему «Константы и литералы»
10 слайдов · сгенерирована в Презентоше — бесплатном генераторе презентаций
Слайд 2
Переменные и значения
Переменная в языке шарп представляет собой именованную область памяти, значение в которой можно изменять сколько угодно раз в процессе выполнения программы, например счётчик цикла или сумма заказа. Тип и область видимости переменной определяют, где и как долго она существует: локальные переменные живут внутри метода, поля — на протяжении жизни объекта или всего приложения. Переменная может ссылаться как на простые типы вроде целых чисел и логических значений, так и на сложные объекты, такие как даты, списки или собственные классы. При каждом новом присваивании старое значение переменной теряется или переопределяется, что позволяет хранить изменяющееся состояние.
Слайд 3
Понятие константы
Константа — это именованное значение, которое задаётся один раз на этапе написания кода и больше никогда не изменяется в течение жизни программы, например число пи 3,14159 или максимальное количество попыток равное 3. В шарпе константа времени компиляции обязана быть известна компилятору заранее и относится к простым типам: числам, строкам, логическим значениям, перечислениям. Компилятор подставляет значение такой константы во все места её использования, поэтому изменение константы требует перекомпиляции всех модулей, которые на неё ссылаются. Константы удобно применять для фундаментальных значений, которые не зависят от конфигурации, даты, окружения или пользовательского ввода.
Слайд 4
Ключевое слово конст
Ключевое слово конст используется при объявлении константного поля или локальной константы, инициализация при этом обязательна прямо в строке объявления. Значение конст рассчитывается на этапе компиляции, поэтому в правой части допускаются только выражения из других констант или литералов, например целых чисел, строк или логических значений. Любая попытка изменить конст после объявления приводит к ошибке компиляции, так как это не полноценное поле, а встраиваемое в код значение. Кроме того, константные поля в классах неявно считаются относящимися к типу, а не к конкретному объекту, то есть ведут себя как статические значения, общие для всех экземпляров.
Слайд 5
Ключевое слово ридонли
Ключевое слово ридонли применяется к полю класса или структуры и ограничивает присваивание значений моментом инициализации: либо при объявлении поля, либо в конструкторе. В отличие от конст, ридонли может содержать любые типы, в том числе даты, коллекции и собственные объекты, а значения могут вычисляться во время выполнения, например на основе параметров конструктора или текущего времени. Для экземплярного поля ридонли значение может отличаться у разных объектов одного класса, что удобно, например, для уникальных идентификаторов или конфигурации, передаваемой в момент создания. После завершения конструктора поле ридонли становится фактически неизменяемым и любые попытки присвоения вне конструктора приводят к ошибке компиляции.
Слайд 6
Переменная против константы
Главное отличие обычной переменной от константы в том, что переменной можно присваивать новые значения в любой момент, тогда как константа фиксируется один раз навсегда. Например, переменная текущаяСкорость автомобиля может увеличиваться и уменьшаться каждую миллисекунду, а константа максимальноРазрешённаяСкорость в городе, равная 60, остаётся одинаковой на протяжении всего выполнения программы. Переменные удобно использовать для представления состояния, зависящего от пользовательского ввода, времени или результатов вычислений, тогда как константы описывают жёстко заданные правила и характеристики. С точки зрения компилятора переменная всегда читается из памяти, а константа подставляется как конкретное значение, что иногда даёт небольшое преимущество по производительности.
Слайд 7
Конст против ридонли
Разница между конст и ридонли начинается с момента вычисления значения: конст требует, чтобы оно было известно при компиляции, а ридонли допускает вычисления во время выполнения в конструкторе. Поле конст подходит для математических и логических констант, которые точно не изменятся между версиями программы, тогда как поле ридонли используют для настроек, которые нужно задать один раз при запуске, например путь к каталогу логов из файла конфигурации. Значение конст копируется во все сборки, которые его используют, поэтому при изменении этого значения приходится перекомпилировать зависимые модули, иначе они продолжат работать со старым числом. Поле ридонли читается через ссылку на тип или объект, поэтому изменение инициализации в новом выпуске приложения автоматически подхватывается всеми частями программы без перекомпиляции других модулей.
Слайд 8
Поля только для чтения
Поля только для чтения, объявленные с модификатором ридонли, часто используют как неизменяемые характеристики объектов, задаваемые в момент создания, например дата регистрации пользователя или начальный баланс счёта. Конструктор может принимать параметры и на их основе вычислять значение такого поля, что даёт гибкость, невозможную с константами времени компиляции. После завершения конструктора объект уже содержит зафиксированное значение, которое можно только читать, но нельзя изменить ни из методов класса, ни извне. В варианте статическое ридонли такие поля инициализируются в статическом конструкторе один раз за время работы приложения, что удобно, например, для загрузки настроек из файла или вычисления сложных таблиц.
Слайд 9
Литералы и примеры
Литерал — это конкретное записанное в коде значение, например число 42, строка «Привет, мир» или логическое значение истина, и именно из литералов чаще всего строятся константы времени компиляции. Константа с модификатором конст может быть объявлена как итог простых операций над литералами, например триУчетверённое равно 3 умножить на 4, и компилятор сразу подставит результат 12. Поле ридонли, в отличие от конст, может получать значение не из литерала, а, например, из вызова метода, чтения текущего времени или параметров конструктора, что делает его константой времени выполнения. В обычных переменных литералы используются как исходные значения, но впоследствии переменная может изменяться и перестать совпадать с первоначальным литералом, который был использован при инициализации.
Слайд 10
Заключение
Разграничение переменных, констант и полей только для чтения помогает строить предсказуемый и безопасный код, в котором ясно, какие значения могут меняться, а какие навсегда зафиксированы. Константы с модификатором конст обеспечивают жёстко заданные значения времени компиляции и подходят для фундаментальных величин, которые одинаковы для всех пользователей и запусков программы. Поля ридонли позволяют задавать значения один раз при создании объекта или при старте приложения, оставаясь при этом гибкими и зависящими от параметров среды или конфигурации. Правильный выбор между обычной переменной, константой и полем только для чтения снижает количество ошибок, упрощает сопровождение и делает поведение системы более понятным другим разработчикам.
Нужна такая же презентация, но по своей теме?
Презентоша сгенерирует презентацию по любой теме за минуту — бесплатно.
Создать презентацию