Test iz objektnog programiranja

Test iz objektnog programiranja

Test je informativnog karaktera i služi za bolju procenu vašeg nivoa znanja, kako biste lakše doneli odluku o tome koji kurs da upišete. Prvenstveno je namenjen onima koji imaju neka znanja iz IT oblasti ali nisu sigurni da li su odgovarajuća za upis na napredni nivo kurseva ili je potrebno pohađati neki od osnovnih nivoa i utvrditi gradivo. U zavisnosti od broja tačnih odgovora, na kraju testa, dobićete preporuku koji kurs treba izabrati.

Pitanje 1

U objektno orijentisanom programiranju klasa je:

  1.  Vrsta objekta
  2.  Skup promenljivih koje čine stanje objekta
  3.  Šablon za kreiranje objekata iste vrste
  4.  Koncept koji omogućava kreiranje hijerarhije tipova podataka

Pitanje 2

Koncept nasleđivanja u objektno orijentisanom programiranju omogućava:

  1.  Kopiranje stanja postojećeg objekta prilikom kreiranja novog
  2.  Definisanje nove klase na osnovu definicije već postojeće
  3.  Kreiranje nove biblioteke koja uključuje sve funkcije neke postojeće
  4.  Definisanje hijerarhije paketa u programskom sklopu

Pitanje 3

U objektno orijentisanim programskim jezicima kao što su Java, C++ ili C# modifikator pristupa protected omogućava pristup članovima klase:

  1.  Samo autorizovanim korisnicima programa
  2.  Samo u toj istoj klasi
  3.  Samo u toj klasi i klasama koje je proširuju
  4.  Samo u klasama koje je proširuju

Pitanje 4

U objektno orijentisanom programiranju sledeći iskaz je istinit:

  1.  Apstraktna klasa je klasa u kojoj je definisano samo ponašanje a ne i stanje
  2.  Apstraktna klasa se ne može instancirati
  3.  Apstraktna klasa ne postoji u objektno orijentisanim programskim jezicima, koristi se samo u fazi OOP analize i dizajna
  4.  Apstraktna klasa je vrsta objekta čije ponašanje se može redefinisati u apstraktnoj klasi

Pitanje 5

Ako je u Javi klasa B izvedena iz klase A onda je istinit sledeći iskaz:

  1.  Na mestu gde se očekuje instanca klase A može se pojaviti instanca klase B
  2.  Na mestu gde se očekuje instanca klase B može se pojaviti instanca klase A
  3.  Klasa je obavezno apstraktna
  4.  Svaka instanca klase B sadrži jednu istu zajedničku instancu klase A

Pitanje 6

Ispaljeni izuzetak u Javi može biti uhvaćen:

  1.  Samo u metodi u kojoj je bačen
  2.  U bilo kojoj metodi klase kojoj pripada i metoda iz koje je izuzetak bačen
  3.  U bilo kojoj metodi u programu
  4.  U bilo kojoj metodi na steku poziva

Pitanje 7

Koji od sledećih iskaza u vezi sa instanciranjem klase u Javi je netačan?

  1.  Prilikom instanciranja klase konstruktor njene natklase mora da se izvrši
  2.  Instanca klase se uvek čuva u dinamičkoj zoni memorije (na heap-u)
  3.  U telu konstruktora je moguće pozvati konstruktor natklase pomoću ključne reči super
  4.  Svaka klasa ima podrazumevani konstruktor

Pitanje 8

Data je definicija klasa A i klasa B u Javi. Koje linije koda će prouzrokovati greške u prevođenju?
public class A
{
private int x;
protected String str = "Text";
public double s = 3.5;

public void methodA()
{
x = 17;
str = "New text";
s = x + 42;
c = 36; // Line p
}
}

public class B extends A
{
private int a = 24;
protected int b;
public int c = 15;
public void methodB()
{
a = 16;
b = 21;
c = 24;
x = 30; // Line q
str = "Text...";
methodA();
s = a +16;

A refA = new A(); // Line r
refA.str = "Hello!"; // Line s

}
}

  1.  Linija p i linija q
  2.  Linija p, linija q i linija s
  3.  Linija p, linija q, linija r i linija s
  4.  Linija q

Pitanje 9

Data je definicija klase Student u Javi: public class Student
{
private String name;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
}

Šta će na standardnom izlazu ispisati sledeći kod?
Student student = new Student();
student.setName("Bob");
Student studentClone = student;
studentClone.setName("Alice");
System.out.println(student.getName());

  1.  Bob
  2.  Alice
  3.  Biće bačen sistemski izuzetak prilikom izvršenja naredbe u trećoj liniji koda, jer u klasi Student nije definisan kopirajući konstruktor
  4.  Treća linija koda će biti uzrok greške u prevođenju, jer u klasi Student nije definisan kopirajući konstruktor

Pitanje 10

Date su definicije klase A i klase B u Javi? public class A
{
public void say()
{
System.out.print("Hello from an instance of the class A!");
}
}

public class B extends A
{
public void say()
{
System.out.print("Hello from an instance of the class B!");
}
}

Šta ispisuje na standardnom izlazu sledeći programski kod?
A a = new B();
a.say();

  1.  Prevođenje programskog koda neće biti moguće jer referenca tipa A ne može ukazivati na objekat tipa B
  2.  Hello from an instance of the class A!
  3.  Hello from an instance of the class B!
  4.  Programski kod u klasi B neće moći da se prevede, jer u klasi B ne može postojati metoda sa istim nazivom i istim parametrima kao u klasi A