qw
q1. Признаки класса?
· Это видимые извне свойства класса
2. Конструкторы?
· Это методы, используемые для инициализации объектов в процессе их реализации
3. Что такое средство доступа?
· Свойство, обеспечивающее доступ к внутренним (private) данным объекта
4. Что такое this?
· Ссылка, с помощью которой объект обращается к самому себе
5. Что такое переменная экземпляра?
· Это атрибут класса
6. Как определить размер класса?
· Для определения размера класса надо сложить размеры всех его атрибутов
7. Как объявляются переменные экземпляра?
· Переменная экземпляра объявляется внутри класса с помощью указания типа данных переменной, за которым следует имя переменной
8. Процедуры и функции, работающие с полями данных класса?
· Называются методами
9. Объединение полей данных и процедур функций, работающих с этими данными, в единый пакет, при наличии специальных правил доступа к элементам пакета?
· Называется инкапсуляцией
10. Полиморфными объектами или полиморфными переменными называются?
· Переменные, которым в процессе выполнения программы может быть присовено значение, тип которого отличается от типа переменной
11. К изменению свойств объекта возможен только через принадлежащие ему?
· Методы
12. В момент времени объект характеризуется:?
· Свойствами
13. Программа в объектно-ориентированном программировании состоит из:?
· Событийных процедур
14. В состав любого класса входят два специальных метода:?
· Конструктор и деструктор
15. Для связи между объектами используются?
· Сообщения
16. Деструкторы
· Методы освобождающие состояние объекта и/или разрушающие сам объект
17. Формирование представления о качествах или свойствах предмета путем мысленного удаления некоторых частей или материальных объектов – это?
· Абстракция
18. Строго определенный набор открытых операций, который можно применять к данному объекту, называется его?
· Интерфейсом
19. Составной объект, в который входят элементы данных любых типов, за исключением функций, - это?
· Структура
20. Сообщение в ООП – это?
· Понятие, которое представляет выполняемое объектом действие
21. Со спецификатором доступа public компонент может быть использован
· Любой функцией
22. Реализация операций динамической модели для объектов данного класса называется ее?
· Методом
23. Реакция объекта на событие определяется?
· Его состоянием
24. Процесс, при котором различный код и данные различных модулей соединяются друг с другом в процессе исполнения, называют компоновкой?
· Динамической
25. Программная единица, рассматриваемая как целое в контекстах хранения в наборе данных, трансляции, объединения с другими программными единицами и загрузки в оперативную память для выполнения, называется?
· Программный модуль
26. Пользователь абстрактного типа данных не может производить доступ к?
· Представлениям абстрактного типа данных
27. Определение требуемого количества памяти при ее исходном распределении производится?
· С использованием типа
28. Объектно-ориентированная программа состоит из
· Отдельных фрагментов кода, обрабатывающего данные, которые взаимодействуют друг с другом через определенные интерфейсы.
29. Объект в методологии ООП - это?
· Инкапсулированная абстракция
30. ООП позволяет программисту моделировать объекты определенной предметной области путем?
· Программирования их содержания и поведения в пределах класса
31. Метод в ООП – это?
· Реакция объекта на сообщение
32. Между объектами модели можно устанавливать зависимости по данным. Эти зависимости выражают связи или отношения между?
· Классами
33. Концепция объектно-ориентированного программирования подразумевает, что основой управления процессом реализации программы является
· Передача сообщений объектам
34. Конструкция «класс» для реализации абстрактных типов данных обеспечивает механизм?
· Инкапсуляции
35. Ключевое слово this
· Обеспечивает доступ к текущему экземпляру класса
36. Операция точки (операция доступа к члену класса) объединяет следующие два элемента (слева направо)?
· Объект класса и член класса
37. Реализация полиморфизма. Перегрузка?
· Используется, когда определяется несколько функций с одним именем – одно и то же имя функции может многократно использоваться в разных местах программы, выбор нужной функции может определяться типами аргументов, областью видимости
38. Реализация полиморфизма. Переопределение
· Используется в ООП при необходимости задания различных реализаций одноименных методов в иерарзии классов
39. Методы, для которых должно реализовываться позднее связывание получили название?
· Виртуальные
40. Методы, для которых должно реализовываться раннее связывание получили название?
· Статические
41. Абстрактный класс может использоваться для других классов только в качестве класса?
· Базового
42. Перегрузкой называется определение нескольких функций, имеющих?
· Одинаковое имя, но разные списки аргументов
43. Использование одного и того же имени в нескольких смыслах применительно к функции, когда выбранный смысл зависит от типов аргументов функции, - это?
· Перегрузка
44. Если производный класс выведен из более чем одного базового класса, такой способ называется наследованием?
· Множеством
45. Переопределенный атрибут (свойство) или метод?
· Такой атрибут или метод, который объявлен в родителе (или потомке), но заново реализованный в дочернем классе
46. Новый метод или атрибут?
· Метод или атрибут, описанный в дочернем классе, но отсутствующий в его предках
47. Рекурсивный (унаследованный) атрибут или метод?
· Атрибут или метод определен в предке, но не переопределен в потомке
48. Позднее связывание?
· Это динамическое связывание вызова метода с определением метода, которое осуществляется во время выполнения, если некоторая информация отсутствует на этапе компиляции и становится известной только когда приложение выполняется
49. Простое наследование?
· Появляется, когда один потомок наследуется от одного родителя
50. Многоуровневое наследование?
· Появляется, когда потомок наследуется от родителей, а затем сам становится родителем
51. Множественное наследование?
· Используется, когда отношение включает несколько родителей и одного потомка
52. Множественное наследование классов поддерживается в языке?
· Верных ответов нет
53. Альтернатива множественному наследованию классов в C#?
· Множественное наследование интерфейсов
54. Методы интерфейса объявляются с указанием модификатора доступа?
· Верных ответов нет
55. Основная особенность абстрактного класса
· Может служить только базовым для других классов. Нельзя создавать его экземпляры
56. Что происходит, когда класс помечается словом sealed?
· Его нельзя наследовать
57. class A { }
class B : A { }
class Program {
public static void Main(string[] args)
{ A a = new A(); B b = new B(); Console.WriteLine(a is A);
Console.WriteLine(a is B); Console.WriteLine(b is A);
Console.WriteLine(b is B); }} что будет в результате?
· True False True True
58. using System;
public class Test { private static void Main(string[] args) {
A a = new A(); a.PrintFormatted(); System.Console.ReadKey();}}
interface IBase { void Print();}
interface IDerived : IBase { void PrintFormatted();}
class A : IDerived {
public void PrintFormatted() {System.Console.WriteLine("A.PrintFormatted()");}
void Derived.PrintFormatted(){System.Console.WriteLine("IDerived.PrintFormatted()");
}} что будет в результате?
· Код не скомпилируется
59. Выберите вариант правильного описания массива?
· Int[] k;
60. using System;
class Base { public String className = "Base";}
class Derived : Base { private new String className = "Derived"; }
class Test{ static void Main(string[] args)
{ Console.WriteLine(new Derived().className);}} что выведется в результате?
· Base
61. using System;
class A { public void SomeMethod() { Console.WriteLine("A.SomeMethod"); } }
internal class B : A { new private void SomeMethod() { Console.WriteLine("B.SomeMethod"); } }
internal class C : B { public void CallSomeMethod() { SomeMethod(); } }
class Program { static void Main(string[] args) {
var c = new C(); c.CallSomeMethod(); Console.ReadLine();}}
что выведется в результате?
· SomeMethod B.SomeMethod
· SomeMethod ???????
· Возникнет ошибка компиляции
· SomeMethod A.SomeMethod
· SomeMethod
62. using System;
class App {static System.Collections.Generic.IEnumerable<string> Get()
{yield return "Hello"; Console.Write("Borland "); yield return "World";}
static void Main(string[] args) {foreach (string s in Get())
{Console.Write(s); Console.Write(" C# ");//Console.ReadKey();
}}}что выведется в результате?
· Hello C# Borland World C#
63. 1) sealed class MyClass
2){ //Методы и переменные класса
3) int x;
4) ... }
5) class MyClass2: MyClass
6) { ...
7) } в какой строке ошибка?
· 5
64. using System;
struct Book { public string author; public string title; public int copyright;
public Book() { author = "aaa"; title = "bbb"; copyright = 50; Console.WriteLine("This is a book"); }}
class Program { static void Main(string[] args) { Book book1 = new Book(); Console.WriteLine("This is not a book"); } } что выведется в результате?
· Ошибка компиляции
65. using System;
class A{public A() {Console.Write("Создание класса А.");}}
class B:A{ public B(){Console.Write("Создание класса В.");}}
class С:B{public С(){Console.Write("Создание класса С.");}}
class Program
{ static void Main() { С c = new С();}}что выведется в результате?
· Создание класса А. Создание класса В. Создание класса С.
66. using System;
classMyClass{public int x;}
classClassAssignment{ public static void Main() {
MyClass a = new MyClass();MyClass b = new MyClass();
a.x = 10;b.x = 20;a = b;b.x = 30;
Console.WriteLine("a.x {0}, b.x {1}", a.x, b.x);}}что выведется в результате?
· x 30, b.x. 30
67. Когда вызываются статические конструкторы классов в C#?
· Один раз при первом создании экземпляра класса или при первом обращении к статическим членам класса
68. Каким образом можно перехватить добавление и удаление делегата из события?
· Для этого существуют специальные ключевые слова add и remove
69. Что произойдет при исполнении следующего кода? int i = 5; object o = i; long j = (long)o;?
· Средой исполнения будет вызвано исключение InvalidCastException
70. Реализацией какого паттерна (шаблона проектирования) являются события в C#?
· Издатель-подписчик (Publisher-Subscriber)
71. Чем отличаются константы и доступные только для чтения поля?
· Константы инициализируются во время компиляции, доступные только для чтения поля — во время выполнения
72. Выберите элементы, которые нельзя пометить атрибутом?
· Все перечисленное можно пометить атрибутом
73. Что такое статическая переменная?
· Переменная, значение которой общее для всех экземпляров класса
74. Чем отличаются структуры от классов?
· У структур не может быть методов
75. Какое утверждение верно?
· Константы не могут определяться со словом static
76. Что такое оператор foreach?
· Это цикл по всем элементам некой определенной коллекции
77. Какие типы можно использовать в предложении foreach?
· Массивы, коллекции. Классы в которых реализован интерфейс System.Collections.IEnumerable
78. Что означает модификатор virtual?
· При наследовании класса, данный метод может быть переопределен в производных классах с помощью ключевого слова override
79. Наследуются ли переменные с модификатором private?
· Да, но они не являются доступными
80. Можно ли запретить наследование от своего собственного класса?
· Да. Для этого служит ключевое слово “sealed”
81. Можно ли разрешить наследование класса, но запретить перекрытие метода?
· Да. Указываем класс как public, а метод как sealed
82. using System;
public class A { }
public class B : A { }
class App {static void Main(string[] args)
{ A a = new A(); B b = new B();
Console.Write(a is A); Console.Write(a is B);
Console.Write(b is A); Console.WriteLine(b is B);}} Что будет выведено?
· TrueFalseTrueTrue
83. using System;
class Point
{ public int X { get; set; }
public int Y { get; set; }
public Point(int xVal, int yVal)
{ X = xVal; Y = yVal; }
public Point() { }}
class App {static void Main(string[] args)
{ Point a = new Point(10, 16){ X = 100, Y = 100}; }} Какие значения будут у скрытых полей класса?
· 100, 100
84. using System;
public interface I
{ void Go(); }
class A:I{ public void Go(){ Console.Write("A.Go()"); }}
class B : A{}
class C : B, I
{ public new void Go() Console.Write("C.Go()"); }}
class App {static void Main(string[] args)
{ B b1 = new B(); C c1 = new C();
B b2 = c1; b1.Go(); c1.Go();
b2.Go(); ((I)b2).Go(); }} Что будет выведено?
>> Go()C.Go()A.Go()C.Go()
· Go()C.Go()A.Go()C.Go()
85. Какое утверждение о реализации интерфейсов справедливо?
· Реализация интерфейсов бывает явной и неявной
86. using System;
namespace ConsoleApplication6
{ class Program
{static void Main(string[] args)
{ A ab = new A();}
partial class A
{ public A() { Console.WriteLine("A created"); } }
partial class A
{ static A() { Console.Write("A created ");} } }} Каким будет результат?
· A created A created
87. using System;
namespace ConsoleApplication6
{ internal class A { private int i = initA();
public static int initA() { return 2; }
public A() { print(); }
public virtual void print() { Console.Write(i + " "); } }
internal class B : A { private int i = initB();
public static int initB() { return 8; }
public override void print() { Console.Write(i + " "); } }
class Program
{ static void Main(string[] args) { A a = new B(); a.print(); } }}Что напечатает следующий код?
· 8 8
88. Необходимыми условиями создания пользовательского атрибута являются?
· Наследование от класса Attribute
89. namespace Program
{class A{
public int id {get; set;}
public A(int newID){id = newID;}}
static void Main(string[] args)
{A[] arrayOfA = new A[4]; arrayOfA[0] = new A(103);
arrayOfA[1] = new A(4); arrayOfA[2] = new A(58);
arrayOfA[3] = new A(31); System.Array.Sort(arrayOfA);}}
В ходе выполнения данного кода генерируется исключение при вызове метода Sort(). Выберите одно из решений, реализация которого позволит этому коду отработать корректно?
· Унаследовать класс от интерфейса IComparable и реализовать его метод CompareTo()
90. using System;
namespace ConsoleApplication1
{ interface IA { void SomeWork();}
class B : IA
{ void IA.SomeWork() { Console.WriteLine("Some work in B"); } }
class Program
{ static void Main(string[] args)
{ B a = new B(); a.SomeWork(); }}} Как правильно вызвать метод SomeWork(), чтобы не возникала ошибка компиляции?
· (new B() as IA).SomeWork();
91. using System;
namespace ConsoleApplication6
{ interface IList
{ int Count { get; set; } }
interface ICounter { void Count(int i);}
interface IListCounter : IList, ICounter { }
class Program
{ void Test(IListCounter x) //1
{ x.Count(1); //2
x.Count = 1; //3
}
static void Main(string[] args) { } }} В какой строке ошибка?
· 3
92. using System;
namespace ConsoleApplication1
{ class Program
{ static void Main(string[] args)
{ A ab = new B("quizful"); A ac = new C(); } }
class A { public A() { Console.WriteLine("A created"); } }
class B : A { private B() { Console.WriteLine("B created"); }
public B(string parameter) {
Console.WriteLine("B created with parameter: {0}",parameter); }}
class C : B { public C() { Console.WriteLine("C created"); } }} Какой будет результат?
· Произойдет ошибка компиляции
93. Какое ключевое слово используется в производном классе для вызова конструктора класса-предка?
· Base
94. using System;
namespace ConsoleApplication1
{ class Program
{ static void Main(string[] args)
{ B b = new B(); A a = b; a.M(); } }
public class A
{ public virtual void M() { Console.WriteLine("This is A"); } }
public class B : A
{ public new void M() { Console.WriteLine("This is B"); } }}Что напечатает этот код?
· This is A
95. using System;
namespace ConsoleApplication1
{ public class B
{ public virtual void Print() { Console.WriteLine("This is B"); } }
public class A : B
{ private new void Print() { Console.WriteLine("This is A"); } }
class Program
{ static void Main(string[] args)
{ var a = new A(); a.Print(); } } } Что напечатает этот код?
· This is B
96. using System;
namespace ConsoleApplication18
{ abstract class B
{ public abstract void Print() { Console.WriteLine("This is B"); } }
class A : B
{ private new void Print() { Console.WriteLine("This is A"); } }
class Program
{ static void Main(string[] args)
{ B a = new A(); a.Print(); } } } Что напечатает этот код?
· Возникнет ошибка компиляции
97. Переменная типа А присваивается переменной типа В. В каком случае происходит упаковка (boxing)?
· A = char, B = object
98. Классификация форм наследования по Тимоти Бадду. Специализация?
· Класс-наследник является специализированной формой родительского класса - в наследнике просто переопределяются методы
99. Классификация форм наследования по Тимоти Бадду. Спецификация?
· Дочерний класс реализует поведение, описанное в родительском классе. В С# эта форма реализуется наследованием от абстрактного класса
100. Классификация форм наследования по Тимоти Бадду. Конструирование?
· Класс-наследник использует методы базового класса, но не является его подтипом
101. Классификация форм наследования по Тимоти Бадду. Расширение?
· В класс-потомок добавляют новые методы, расширяя поведение родительского класса
102. Что понимается по термином «инкапсуляция»?
· Доступность объекта лишь посредством его свойств и методов
103. В чем состоит назначение оператора typeof языка C#?
· В определении типа выражения
104. Какой оператор языка C# осуществляет инициализацию классов:
· New
· Create
· Struct
· Class
· Init
105. Какие типы C# относятся к ссылочным?
· Объектные, интерфейсные, указатели
106. Чем отличаются неявные преобразования типов от явных?
· Неявные преобразования не могут приводить к потере точности
107. Каким образом осуществляется наследование классов в C#?
· Класс наследует свойства классов
108. Что понимается под термином «наследование»?
· Свойство производного объекта сохранять поведение родительского
109. Какой спектр доступности обеспечивается модификатором protected?
· Из класса с описанием объекта и его подклассов
110. Возможно ли создание объектов абстрактных классов?
· Нет
111. Каким оператором обозначаются экземпляры классов с сокрытием данных?
· New
112. Какой описатель используется для определения бесплодных классов в языке C#?
· Sealed
113. Может ли один интерфейс быть расширен другим?
· Да
114. Какой из назначенных методов могут быть присвоены переменной-делегату?
· Произвольный
115. Сколько параметров может иметь переменная-делегат?
· Ни одного
116. Какой оператор C# используется для активации исключений?
· Throw
117. Допустимы ли статические элементы в составе интерфейса?
· Нет
118. Может ли переменная-делегат иметь пустой значение (null)?
· Да
119. Что понимается под термином «делегат»?
· Верных ответов нет
· Переменная-тип
· Абстрактный метод
· Объект-тип
· Метод-тип
120. Чем определяется степень инкапсуляции объектов?
· Областью видимости
121. Какой механизм языка C# используется для управления событиями?
· Делегаты
122. В чем состоит особенность вызова пустой переменной-делегата?
· Возникает исключительная ситуация
123. Основные особенности объектно-ориентированного языка (выберите наиболее точный ответ)?
· Инкапсуляция, наследование, полиморфизм
124. Какое свойство ООП позволяет скрыть от других частей программы детали реализации объекта?
· Инкапсуляция
125. Какие спецификаторы можно определить для класса в C#?
· Public
126. Даны описания:
Class One
{int a;
Public int b;
Public static int c;}
---
One x = new One();
Укажите правильные способы обращения к полям?
Даны описания:
· one.b
· x.c
· one.x.b
· x.b
· верных ответов нет
127. Даны описания
Class X
{int a;
Public const int b = 1;
Public static int z;}
…
X x = new X();
Укажите правильные способы обращения к полям?
· X.z
128. При обращении к статическому методу перед его именем указывается?
· Имя экземпляра объекта
· Ничего не указывается
· Имя класса
· Имя сборки
· Верных ответов нет
129. При обращении к нестатическому методу перед его именем указывается?
· Спецификатор static
· Имя сборки
· Имя System
· Имя экземпляра объекта
· Имя класса
130. Где располагаются описания методов внутри класса?
· В произвольном порядке
131. Какая из следующих операций не может быть перегружена?
· \#
132. Какая из следующих операций не может быть перегружена в классе?
· =
133. Какой из приведенных ниже методов реализует перегрузку унарной операции ++?
· Public operator++ Mhz (Mhz mhz) {…}
134. Выберите правильные утверждения?
· Абстрактный класс задает интерфейс для всей иерархии своих потомков
135. Какой из приведенных интерфейсов должен реализовывать тип для поддержки цикла foreach?
· IEnumerable