
- •Электронные устройства.
- •Организация эвм
- •Объектно-ориентированное программирование (Язык c#) - копипаста с выложенного на форум архива
- •19. Чем интерфейс отличается от класса в языке c#?
- •20. Что означает ключевое слово try в языке c#?
- •21. Возможен ли в языке c# доступ в методе производного класса к унаследованным из базового класса полям?
- •30. Для каких типов данных в языке c# базовым является тип object?
- •31. Какой тип не относится к ссылочным типам языка c#?
- •Объектно-ориентированное программирование (Язык c#)
- •4) Что возвращает оператор new в языке c#? Создается экземпляр объекта
- •15) Каков доступ по умолчанию к полям структуры (struct) в языке c#? private
- •24) В каком случае через ссылку на объект класса с# доступен для вызова метод ToString?
- •27) Какие данные не относятся к пользовательским типам языка c# (то есть, к типам, определяемым программистами)?
- •35) Где могут использоваться статические поля классов в языке c#?
- •36) Какие права доступа задают модификаторы доступа internal и protected в языке c#?
- •50) Как присвоить значение переменной b типа bool переменной n типа int?
- •53) Экземпляры каких типов могут быть элементами стандартных массивов языка c#?
- •Технология проектирования Intranet-приложений
- •5. К какому типу ссылок относится тег:
- •34. Обработчик какого события может задаваться только в теге body?
- •Технология программирования
- •Операционные системы - фаи-Центр
- •Системное программное обеспечение - фаи-Центр
- •Основы сетевых технологий
- •17. Какая функции реализуются при обработке пакетов в маршрутизаторе?
- •31. Какие из устройств относятся к пассивному сетевому оборудованию? Хаб (концентратор)
- •Методы и средства защиты компьютерной информации
Объектно-ориентированное программирование (Язык c#) - копипаста с выложенного на форум архива
1. Что является точкой входа в программу на языке C#?
Статическая процедура Main().
//Класс, содержащий статическую процедуру с именем Main.
2. Что отличает консольное приложение на языке C# от приложения Windows Forms?
Отсутствие гуя (GUI – graphic user interface, графическая пользовательская интырьморда)
3. Какое имя логического типа данных может использоваться в программах C#?
Имя типа – bool
Системный тип – System.Boolean
4. Что возвращает оператор new в языке C#?
Оператор new динамически распределяет память для объекта и затем возвращает ссылку на этот объект.
5. Что означает ключевое слово this в языке C#?
Ключевое слово this ссылается на текущий экземпляр класса, а также используется в качестве модификатора первого параметра метода расширения.
6. Каким будет значение p1.X после выполнения следующего кода C#?
Point p1 = new Point (10,10);
Point p2 = p1;
p2.X =26;
p1.X=10
7. Каким действием можно освободить память приложения от конкретного экземпляра класса C#?
Подозреваю, что методом Dispose()
8. Каким образом можно передать аргументы x, y из конструктора конструктору базового класса в С#?
Передача аргументов конструктору базового класса выполняется с использованием ключевого слова base. Пример:
public Rect(Point point1, Point point2) : base(point1, point2) {}
9. Какой оператор цикла отсутствует в языке С#?
В C# присутствуют операторы цикла for, foreach, while.
10. Какое отличие структуры от класса в С#?
Структура - это частный случай класса. Исторически структуры используются в языках программирования раньше классов. В языках PL/1, C и Pascal они представляли собой только совокупность данных (полей класса), но не включали ни методов, ни событий. В языке С++ возможности структур были существенно расширены и они стали настоящими классами, хотя и c некоторыми ограничениями. В языке C# - наследнике С++ - сохранен именно такой подход к структурам.
Чем следует руководствоваться, делая выбор между структурой и классом? Полагаю, можно пользоваться следующими правилами:
если необходимо отнести класс к развернутому типу (Класс T относится к развернутому типу, если память отводится сущности x; объект разворачивается на памяти, жестко связанной с сущностью), делайте его структурой;
если у класса число полей относительно невелико, а число возможных объектов относительно велико, делайте его структурой. В этом случае память объектам будет отводиться в стеке, не будут создаваться лишние ссылки, что позволит повысить эффективность работы;
в остальных случаях проектируйте настоящие классы.
Поскольку на структуры накладываются дополнительные ограничения, то может возникнуть необходимость в компромиссе - согласиться с ограничениями и использовать структуру либо пожертвовать развернутостью и эффективностью и работать с настоящим классом. Стоит отметить: когда говорится, что все встроенные типы - int и другие - представляют собой классы, то, на самом деле, речь идет о классах, реализованных в виде структур.
Перечислим ограничения, накладываемые на структуры.
Самое серьезное ограничение связано с ограничением наследования. У структуры не может быть наследников. У структуры не может быть задан родительский класс или родительская структура. Конечно, всякая структура, как и любой класс в C#, является наследником класса Object, наследуя все свойства и методы этого класса. Структура может быть наследником одного или нескольких интерфейсов, реализуя методы этих интерфейсов.
Второе серьезное ограничение связано с процессом создания объектов. Пусть T - структура, и дано объявление без инициализации - T x. Это объявление корректно, в результате будет создан объект без явного вызова операции new. Сущности x будет отведена память, и на этой памяти будет развернут объект. Но поля объекта не будут инициализированы и, следовательно, не будут доступны для использования в вычислениях. Об этих особенностях подробно говорилось при рассмотрении значимых типов. В этом отношении все, что верно для типа int, верно и для всех структур.
Если при объявлении класса его поля можно инициализировать, что найдет отражение при работе конструктора класса, то поля структуры не могут быть инициализированы.
Конструктор по умолчанию у структур имеется, при его вызове поля инициализируются значениями по умолчанию. Этот конструктор нельзя заменить, создав собственный конструктор без аргументов.
В конструкторе нельзя вызывать методы класса. Поля структуры должны быть проинициализированы до вызова методов.
Вариант. Структура в C# отличается от класса тем, что не имеет референциальной семантики.
11. Сколько аргументов должен получать конструктор структуры языка С#?
Столько, сколько полей в структуре, потому что он инициализирует их значениями по умолчанию.
12. Какое выражение создаёт экземпляр (объект) класса X на языке C#?
X var = new X (…);
13. Каков размер переменной типа float в языке C#?
Имя типа |
Системный тип |
Диапазон |
Точность |
Float |
System.Single |
32 бита (+1.5*10-45 - +3.4*1038 ) |
7 значащих цифр |
14. Какой метод не входит в состав класса object в языке C#?
Методы класса Object:
Equals
Finalize
GetHashCode
GetType
MemberwiseClone
ReferenceEquals
ToString
15. Каков доступ по умолчанию к полям структуры (struct) в языке C#?
Общедоступный (public)
16. Для чего не используется ключевое слово this в языке C#?
Используется оно:
Для квалификации элементов, скрытых одинаковыми именами
Для передачи другим методам объекта в качестве параметра
Для объявления индексаторов
И см. вопрос 5.
17. С помощью какого модификатора в языке C# можно переопределить виртуальную функцию в производном классе?
override
18. Какое свойство характеризует абстрактный класс в языке C#?
Создавать экземпляры абстрактного класса нельзя. Назначение абстрактного класса заключается в предоставлении общего определения для базового класса, которое могут совместно использовать несколько производных классов. Например, в библиотеке классов может быть определен абстрактный класс, используемый в качестве параметра для многих из ее функций, поэтому программисты, использующие эту библиотеку, должны задать свою реализацию этого класса, создав производный класс.
Абстрактный класс в объектно-ориентированном программировании — класс, содержащий хотя бы один абстрактный метод. Абстрактный метод не реализуется для класса, в котором описан, однако должен быть реализован для его неабстрактных потомков. Абстрактные классы представляют собой наиболее общие абстракции, такие что имеют бо́льший объем и меньшее содержание.