Доступ к членам
В языке C# имеются два типа членов класса: открытые и закрытые. Доступ к открытому члену свободно осуществляется из кода, определенного за пределами класса. А закрытый член класса доступен только методам, определенным в самом классе. С помощью закрытых членов и организуется управление доступом. Разрешая доступ к закрытым данным только с помощью строго определенного ряда методов, можно предупредить присваивание неверных значений этим данным, выполняя, например, проверку диапазона представления чисел. Для закрытого члена класса нельзя задать значение непосредственно в коде за пределами класса. Но в то же время можно полностью управлять тем, как и когда данные используются в объекте. Следовательно, правильно реализованный класс образует некий "черный ящик", которым можно пользоваться, но внутренний механизм его действия закрыт для вмешательства извне.
27. Инициализация Инициализация (объявление) – определение параметров какого-либо объекта, будь то переменная, функция, метод, класс и т.д. Только после инициализации компилятор может работать с этим объектом. тип имя_переменной; Здесь с помощью элемента тип задается тип объявляемой переменной, а с помощью элемента имя_переменной — ее имя. Можно объявить переменную любого допустимого типа. При создании переменной создается экземпляр соответствующего типа. Таким образом, возможности переменной определяются ее типом. Переменная до использования должна получить значение. Это можно сделать с помощью инструкции присваивания. Можно также присвоить переменной начальное значение одновременно с ее объявлением. Для этого достаточно после имени переменной поставить знак равенства и указать присваиваемое значение. Общий формат инициализации переменной имеет такой вид: тип имя_переменной = значение 28. Инкапсуляция и сокрытие Инкапсуляция - свойство системы, позволяющее объединить данные и методы, работающие с ними в классе, и скрыть детали реализации от пользователя. Инкапсуляция — это механизм программирования, который связывает код (действия) и данные, которыми он манипулирует, и при этом предохраняет их от вмешательства извне и неправильного использования. В объектно-ориентированном языке код и данные можно связать таким образом, что будет создан автономный черный ящик. Внутри этого ящика находятся все необходимые данные и код. При таком связывании кода и данных создается объект. Другими словами, объект — это элемент, который поддерживает инкапсуляцию. Основной единицей инкапсуляции в C# является класс. Класс определяет форму объекта. Сокрытие: -принцип проектирования -разграничение доступа к внутренностям - Поддержка на уровне языка(типы) -Практики использования Сокрытие(зачем): -борьба со сложностью изменений (-локализация изменений -предсказания изменений и их Последствий - «очистка глобальной области видимости» - защита от проблем интеграции Сокрытие (как): -использование модификаторов доступа -использование интерфейсов: 1 аккуратное использование 2 достаточная декомпозиция (простые сущности) 3 соглашения и документирование 4 прикладной код «через интерфейсы» 5 ЯЗЫКОВЫЕ СРЕДСТВА (например, interface) 29.Операторы инкремента и декремента Оператор инкремента (++) увеличивает свой операнд на 1, а оператор декремента (--) уменьшает операнд на 1. Следовательно, операторы: x++;x --;равнозначны операторам: x = x +1;x = x -1;Следует, однако, иметь в виду, что в инкрементной или декрементной форме значение переменной x вычисляется только один, а не два раза. В некоторых случаях это позволяет повысить эффективность выполнения программы. Обa оператора инкремента и декремента можно указывать до операнда (в префиксной форме) или же после операнда (в постфиксной форме).
|