игра брюс 2048
Главная / Программирование / Компонентный подход в программировании / Тест 11

Компонентный подход в программировании - тест 11

Упражнение 1:
Номер 1
Отметьте среди перечисленных пунктов утверждения, правильно описывающие характеристики языков программирования Java и C#.

Ответ:

 (1) Как в Java, так и C# все типы являются наследниками одного типа Object. 

 (2) В C# интерфейс может наследовать нескольким интерфейсам, а в Java — нет. 

 (3) В Java нет возможности объявить метод, который нельзя перегрузить в наследниках данного класса. 

 (4) В C# можно декларировать виртуальные свойства. 

 (5) В обоих языках можно обратиться к статическому методу класса через ссылку на объект этого класса. 


Номер 2
Отметьте среди перечисленных пунктов утверждения, правильно описывающие характеристики языков программирования Java и C#.

Ответ:

 (1) В обоих языках класс может реализовывать несколько интерфейсов. 

 (2) В C#, в отличие от Java, все типы являются наследниками одного типа Object. 

 (3) В Java, в отличие от C#, нельзя декларировать невиртуальные методы. 

 (4) В C# все свойства невиртуальны. 

 (5) В Java можно определять статические члены классов, а в C# — нельзя. 


Номер 3
Отметьте среди перечисленных пунктов утверждения, правильно описывающие характеристики языков программирования Java и C#.

Ответ:

 (1) В C#, в отличие от Java, все типы, которые могут быть точными типами объектов, являются наследниками одного типа Object. 

 (2) В Java, в отличие от C#, класс не может наследовать нескольким классам. 

 (3) В обоих языках все методы классов виртуальны. 

 (4) В C#, в отличие от Java, нельзя обратиться к статическому методу класса через ссылку на объект этого класса. 

 (5) В C# все операторы виртуальны. 


Упражнение 2:
Номер 1
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на Java.

public class A
{
  public void m() { System.out.print("A"); }

  public static void main (String[] args) {
A[] r = { new B(), new A(), new B() };
for(A a : r) a.m();
  }
}

public class B extends A
{
  public void m() { System.out.print("B"); }
}


Ответ:

 (1) AAA 

 (2) BBB 

 (3) ABA 

 (4) BAB 

 (5) ABAAB 

 (6) BABBA 


Номер 2
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на Java.

public class A
{
  public void m() { System.out.print("B"); }

  public static void main (String[] args) {
A[] r = { new B(), new A(), new B() };
for(A a : r) a.m();
  }
}

public class B extends A
{
  public void m() { System.out.print("AB"); }
}


Ответ:

 (1) ABABA 

 (2) BABAB 

 (3) ABBAB 

 (4) BAABA 

 (5) ABABAB 

 (6) BABABA 


Номер 3
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на Java.

public class A
{
  public void m() { System.out.print("B"); }

  public static void main (String[] args) {
A[] r = { new B(), new A(), new B() };
for(A a : r) a.m();
  }
}

public class B extends A
{
  public void m() { System.out.print("BA"); super.m(); }
}


Ответ:

 (1) BBB 

 (2) BABABA 

 (3) ABAAB 

 (4) BABBA 

 (5) ABAAABA 

 (6) BABBBAB 


Упражнение 3:
Номер 1
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на C#.

public class A
{
  public void m() { Console.Write("A"); }

  public static void Main () {
A[] r = { new B(), new A(), new B() };
foreach(A a in r) a.m();
  }
}

public class B : A
{
  public void m() { Console.Write("B"); }
}

Ответ:

 (1) AAA 

 (2) BBB 

 (3) ABA 

 (4) BAB 

 (5) ABAAB 

 (6) BABBA 


Номер 2
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на C#.

public class A
{
  virtual public void m() { Console.Write("B"); }

  public static void Main ()
  {
A[] r = { new B(), new A(), new B() };
foreach(A a in r) a.m();
  }
}

public class B : A
{
  override public void m() { base.m();  Console.Write("A"); }
}

Ответ:

 (1) AAA 

 (2) BBB 

 (3) ABAAB 

 (4) BABBA 

 (5) ABABAB 

 (6) BABABA 


Номер 3
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на C#.

программа на C#.
public class A
{
  virtual public void m() { Console.Write("A"); }

  public static void Main () {
A[] r = { new B(), new A(), new B() };
foreach(A a in r) a.m();
  }
}

public class B : A
{
  override public void m() { Console.Write("AB"); }
}

Ответ:

 (1) AAA 

 (2) AABA 

 (3) AABAB 

 (4) ABAAB 

 (5) BABBA 

 (6) ABABAB 


Упражнение 4:
Номер 1
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на Java.

public class A
{
  { System.out.print("A"); }

  public static void main (String[] args) {
A[] r = { new B(), new A(), new B() };
  }
}

public class B extends A
{
  { System.out.print("B"); }
}

Ответ:

 (1) AAA 

 (2) BAB 

 (3) ABAAB 

 (4) BAABA 

 (5) ABABAB 

 (6) BABABA 


Номер 2
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на Java.

public class A
{
  static { System.out.print("A"); }

  public static void main (String[] args) {
A[] r = { new B(), new A(), new B() };
  }
}

public class B extends A
{
  { System.out.print("B"); }
}

Ответ:

 (1) AAA 

 (2) ABB 

 (3) BBA 

 (4) BAA 

 (5) ABAAB 

 (6) BAABA 


Номер 3
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на Java.

public class A
{
  { System.out.print("A"); }

  public static void main (String[] args) {
A[] r = { new B(), new A(), new B() };
  }
}

public class B extends A
{
  static { System.out.print("B"); }
}

Ответ:

 (1) AAA 

 (2) BAB 

 (3) ABAAB 

 (4) BAABA 

 (5) AAAB 

 (6) BAAA 


Упражнение 5:
Номер 1
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на C#.

public class A
{
  static A() { Console.Write("B"); }

  public static void Main () {
A[] r = { new B(), new A(), new B() };
  }
}

public class B : A
{
  public B() { Console.Write("A"); }
}

Ответ:

 (1) ABB 

 (2) BBA 

 (3) AAB 

 (4) BAA 

 (5) BABAB 

 (6) BBABA 


Номер 2
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на C#.

public class A
{
  public A() { Console.Write("B"); }

  public static void Main () {
A[] r = { new A(), new B(),new B() };
  }
}

public class B : A
{
  static B() { Console.Write("A"); }
}

Ответ:

 (1) BBB 

 (2) BABB 

 (3) BBBA 

 (4) BABAB 

 (5) BBABA 

 (6) BBABB 


Номер 3
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на C#.

public class A
{
  public A() { Console.Write("B"); }

  public static void Main () {
A[] r = { new A(), new B(),new B() };
  }
}

public class B : A
{
  public B() { Console.Write("A"); }
}

Ответ:

 (1) ABB 

 (2) BBA 

 (3) ABABA 

 (4) •BABAB 

 (5) AABAB 

 (6) BBABA 


Упражнение 6:
Номер 1
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на Java.

public class A
{
  public A()  { System.out.print("B"); }
  public void m() { System.out.print("A"); }

  public static void main(String[] args)
  {
A[] r = {  new A(){ public void m() { System.out.print("C"); }}, new A() };
for(A a : r) a.m();
  }
}

Ответ:

 (1) AA 

 (2) CA 

 (3) BAA 

 (4) BCA 

 (5) BBAA 

 (6) BBCA 


Номер 2
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на C#.

delegate void D();
public class A
{
  public static void m() { Console.Write("BA"); }
  public static void n() { Console.Write("ABB"); }
  public static void Main () {
D d = new D(m) + n + m + n;
d -= n;
d();
  }
}

Ответ:

 (1) BABA 

 (2) BAABB 

 (3) ABBABB 

 (4) BAABBBA 

 (5) ABBBAABB 

 (6) BAABBBAABB 


Номер 3
Отметьте среди перечисленных пунктов текст, который выдает приведенная программа на C#.

public class A {
  public virtual int M   { get { Console.Write("C"); return 1; } }
  public virtual int this[int i] { get { Console.Write("B"); return 2; } }
  public static void Main () {
A[] r = { new B(), new A() };
foreach (A a in r) { int x = a[a.M]; }
  }
}

public class B : A {
  public override int M  { get { Console.Write("A"); return 5; } }
  public int this[int i] { get { Console.Write("D"); return 3; } }
}

Ответ:

 (1) CC 

 (2) AC 

 (3) BABC 

 (4) DABC 

 (5) ABCB 

 (6) ADCB 




Главная / Программирование / Компонентный подход в программировании / Тест 11