ООП(можливі тести)

Додано: 2 грудня
Предмет:
23 запитання
Запитання 1

Оберіть твердження, яке с коректним щодо модифікаторів доступу

варіанти відповідей

protected-члени класу доступні тільки в методах цього класу та методах нащадків цього класу.

private-члени класу доступні тільки зі статичних методів цього класу.

public-члени класи доступні тільки в методах цього класу.

поле член класу, що оголошене без модифікатора доступу, є спільним полем для всіх екземплярів цього класу.

Запитання 2

Що треба змінити в коді, щоб він коректно працював

#include <iostream>

using namespace std;

class Counter {

protected: // 1

// 2

};

int Counter ::Count = 0;

int main() {

Counter obj;

cout << Counter :: Count; //3

return 0;

}

варіанти відповідей

додати в рядку 2 код int Count;

прибрати в рядку 1 protected

додати в рядку 2 код: static int Count;

змінити рядок 3 на код cout << obj.Count;

змінити в рядку 1 protected на public

змінити в рядку 1 protected на private

Запитання 3

Виберіть найбільш точне визначення абстрагування.

варіанти відповідей

Це механізм, який об'єднує дані і методи, що маніпулюють цими даними, і захищає і те й інше від зовнішнього втручання або неправильного використання.

Це механізм, що дозволяє створювати класи об'єктів на основі інших класів, розширюючи і частково змінюючи їх функціональність і набір атрибутів.

Це базовий принцип ООП, згідно якого зовнішня поведінка об'єкта (його інтерфейс) відокремлюється від реалізації цього інтерфейсу.

Це базовий принцип ООП, згідно з яким кожен об'єкт може використовуватися більш ніж в одній програмі.

Запитання 4

Риби живуть у воді, ссавці годують дитинчат молоком. А дельфіни і живуть у воді і годують молоком. Що з наведеного найбільше підходить до цього твердження?

варіанти відповідей

class Dolphin implements WaterLive, MilkFed{}

class Dolphin extends MilkFed implements WaterLive {}

class Dolphin extends WaterLive extends MilkFed{}

class Dolphin extends WaterLive implements MilkFed {}

Запитання 5

Які види ітераторів С++ існують?

варіанти відповідей

Одновимірні, двовимірні, багатовимірні.

Вхідні, вихідні, однопотокові, багатопотокові.

Введення, виведення, однонаправлені, двонаправлені, довільного доступу.

Статичні, константні, однонаправлені, двонаправлені.

Запитання 6

Вставка яких фрагментів коду заміст ??? призведе до помилки на етапі компіляції?

class A {};

class B: public A {};

class C: public B {);

class D: public C ();

void method(B* b) {}

void method(C*c) ()

int main() (

???

return 0;)

варіанти відповідей

method(new D());

всі фрагменти призведуть до помилки

method(new A());

жоден фрагмент не призведе до помилки

method(new B());

method(new C());

Запитання 7

Реалізацію яких принципів ООП може бути заборонено ключовим словом final в Java (оберіть всі можливі варіанти)?

варіанти відповідей

спадковість

Інкапсуляція

поліморфізм

абстракція

Запитання 8

Що буде виведено на екран після виконання фрагменту јаѵа-прогами?

public class Main{

public static void main(String[] args) {

try {

System.err.print("0");

if (1==0) { throw new Error();}

System.err.print(" 1");

}

catch (Error e) {

System.err.print(" 2");

}

finally {

System.err.print(" 3");

}

System.err.print(" 4");

}

варіанти відповідей

інший варіант

0 2 3

0 2 3 4

0 2

0 1 3 4

0 1 2 3 4

Запитання 9

За заданими описами класів оберіть всі можливі варіанти організації множинного спадкування С++

варіанти відповідей

class X (); class Y. public X (); class Z. public X ()

class X (); class Y (), class Z: public X, public Y()

class XY (); class X. protected XY (); class Y: XY (); class Z: public X, protected Y ( protected: Y instY;)

class X (); class Y: public X (); class Z: public Y ()

Запитання 10

Який принцип ООП необхідно застосувати для ієрархії класів транспортних засобів, щоби замінити конструкцію розгалуження на одинирядок T.move();

void foo (Transport &T) {

switch (T.type) {

case BIKE: (Bike) T.move(); break;

case CAR: (Car) T.move(); break;

case MOTORCYCLE: (Motorcicle)T.move(); break;

}

}

варіанти відповідей

Інкапсуляція

Персистентність

Агрегація

Поліморфізм

Спадковість

Запитання 11

Оберіть мінімально необхідний набір змін до коду С++

somevar i hello (дій може бути обрано декілька)?

class A {

int somevar;

int hello;

public:

A(int a, int b):somevar(a), hello(b) {}

//1

};

int main() {

A Ob(4,5);

//2

return 0;

}

варіанти відповідей

в рядку 1 перевантажити оператор виведення;

в рядку 2 написати: std::cout << Ob;

замість рядка 2 написати: std::cout << Ob.somevar << Ob.hello;

в рядку 1 додати перевантажений конструктор;

Запитання 12

Який варіант краще описує відношення «Собака кращий друг людини»?

варіанти відповідей

class Man extends Dog {}

class Man implements Dog {}

class Man { private Dog bestFriend; }

class Man { private BestFriend dog; }

Запитання 13

Вкажіть невірний модифікатор доступу для метода meth() в класі А,

якщо в класі В даний метод має заміщуватися.

варіанти відповідей

private

protected

public

Запитання 14

Який механізм є основою контейнера list<> в бібліотеці STL?

варіанти відповідей

Динамічний масив

Двонаправлений список

Бінарне дерево

Хеш-таблиця

Запитання 15

Птахи літають (Flyable), ящери ходять (Crawlable). А птеродактилі і літають, і ходять. Що з наведеного найбільше підходить до цього твердження?

варіанти відповідей

class Pterodactyl extends Crawlable, Flyable{}

class Pterodactyl extends Crawlable implements Flyable()

class Pterodactyl extends Flyable implements Crawlable{}

class Pterodactyl implements Crawlable, Flyable{}

Запитання 16

//Що буде отримано в результаті роботи програми?

public class Test {

public static void main(String[] args) {

A a = new B();

a.test(a);

}

   

}

class A {

public void test(A obj) {

System.out.println("Object A");

}

}

class B extends A {

@Override

public void test(B obj) {

System.out.println("Object B");

}}

варіанти відповідей

Помилка компіляції

Object A

Object B

Запитання 17

Для яких елементів класу «працює» поліморфізм?

варіанти відповідей

для полів класу

для заміщуваних (віртуальних) методів класу

для статичних методів класу

для полів та методів класу

Запитання 18

Який опис більш точно відображує відношення між класом Person (Людина) і класом InternalOrgan (Внутрішні органи) цієї людини?

варіанти відповідей

class Person { private Internal Organ X; }

class Person extends Internal Organ ()

class Person (private InternalOrgan [] X;}

class Person implements InternalOrgan {}

Запитання 19

Оберіть тільки необхідні змін до коду програми С++, щоби були виведені значення полів somevar i hello?

class A {

int somevar,

int hello;

public:

A(int a, int b):somevar(a), hello(b) {}

//1

}

int main() {

A Ob(4,5);

1/2

return 0;

}

варіанти відповідей

Замість рядка 2 написати: std::cout << Ob;

Замість рядка 2 написати: std::cout << Ob.getVar() << Ob.getHel();

Замість рядка 2 написати: std::cout << Ob.somevar << Ob.hello;

Замість рядка 1 і далі написати два методи, що повертають значення відповідних полів.

Запитання 20

Спадковість - це

варіанти відповідей

це механізм, який об'єднує дані і методи, що маніпулюють цими даними, і захищає і те й інше від зовнішнього втручання або неправильного використання.

це принцип ООП, згідно з яким кожен об'єкт може використовуватися більш ніж в одній програмі.

це процес приховування даних і коду, що реалізує функціональність, за Інтерфейсом, що не дозволяє користувачеві безконтрольно змінити дані.

це механізм, що дозволяє створювати класи об'єктів на основі інших класів, розширюючи і частково змінюючи їх функціональність і набір атрибутів.

Запитання 21

За яким принципом побудований контейнер list<> бібліотеки STL?

варіанти відповідей

двійкове дерево пошуку

черга

стек

однонаправлений список

хеш-таблиця

динамічний масив

двонаправлений список

Запитання 22

Що використовується для опису стану та поведінки об'єкта (оберіть всі можливі варіанти)?

варіанти відповідей

методи

пізнє зв'язування

раннє зв'язування

екземпляри класів

спадкування

поля

Запитання 23

public class Parent {

private void whoAreYou() { System.out.println("I'm parent"); }

public static void main(String []args) {

Parent p = new Child();

p.whoAreYou();

}

}

class Child extends Parent {

public void whoAreYou() { System.out.println("I'm child"); }

}

варіанти відповідей

I'm child

I'm child

I'm parent

Помилка компіляції

I'm parent

I'm child

Помилка часу виконання

I'm parent

Створюйте онлайн-тести
для контролю знань і залучення учнів
до активної роботи у класі та вдома

Створити тест