Examen POO

A vibrant illustration of abstract classes, inheritance, and polymorphism in software programming, featuring colorful diagrams and code snippets, with a focus on Java programming language.

Examen POO: Evaluare în Programarea Orientată pe Obiect

Participă la acest examen pentru a-ți evalua cunoștințele despre Programarea Orientată pe Obiect (POO). Acesta conține 21 de întrebări care acoperă concepte fundamentale precum moștenirea, polimorfismul, clasele abstracte și multe altele.

  • Testare cu 21 de întrebări.
  • Verificarea cunoÈ™tinÈ›elor în POO.
  • ObÈ›inerea unui feedback imediat.
21 Questions5 MinutesCreated by CodingEagle92
Name:
Care din urmatoarele afirmatii sunt adevarate cand ne referim la comportamentul polimorfic (polimorfism) la apelul unei metode nestatice:
Apelarea metodei mostenite daca obiectul pe care se face apelul este de tip derivat iar metoda nu este suprascrisa in clasa derivata.
Apelarea metodei suprascrise daca obiectul pe care se face apelul este de tip derivat iar metoda este suprascrisa in clasa derivata.
Afirmatiile care implica conceptul de mostenire sunt false.
Determinarea tipul de obiect continut de variabila pe care se face apelul metodei.
Apelarea metodei mostenite daca obiectul pe care se face apelul este de tip derivat iar metoda este suprascrisa in clasa derivata.
Care din urmatoarele afirmatii referitoare la clase abstracte sunt adevarate:
O clasa poate fi declarata abstracta chiar daca nu are metode abstracte.
O clasa nu poate fi declarata abstracta daca nu are metode abstracte.
O clasa abstracta nu poate avea constructor.
Nu se pot crea obiecte de tipul unei clase abstracte.
O clasa care o metoda abstracta trebuie declarata abstracta.
Care din urmatoarele afirmatii referitoare la mostenire sunt adevarate:
O clasa derivata poate accesa datele membre si metodele clasei de baza pe care o mosteneste doar daca acestea sunt public sau protected.
O clasa derivata are toate datele membre si metodele clasei de baza pe care o mosteneste doar daca acestea sunt public sau protected.
O clasa derivata are toate datele membre si metodele clasei de baza pe care o mosteneste.
O clasa derivata poate accesa datele membre si metodele clasei de baza pe care o mosteneste doar daca acestea sunt public sau protected, sau package daca se afla in acelasi pachet (biblioteca).
O clasa derivata poate accesa datele membre si metodele clasei de baza pe care o mosteneste daca acestea sunt public / package sau protected.
Se considera instructiunea:

Object x = new Object();

Care dintre afirmatiile urmatoare sunt adevarate:

X este o clasa.
Object este o clasa.
X este un obiect.
X este o variabila de tip primitiv.
Object este un obiect.
Care din urmatoarele afirmatii referitoare la vectori sunt adevarate:
Un vector se poate crea precizand explicit elementele componente.
O variabila de tip vector contine o referinta, cu exceptia vectorilor de primitive.
Un vector se poate crea cu new, insa dimensiunea poate avea o valoare generata la executie.
Elementele unui vector au indexul de la zero la length.
Orice vector are o data membra length ce reprezinta dimensiunea vectorului.

Se considera urmatoarea secventa de cod in care clasa Exceptie1 este derivata din clasa Exception:

try {

;instructiune afisare I1

throw new Exceptie1();

;instructiune afisare I2

} catch (Exceptie1 e) {

;instructiune afisare I3

throw e;

} catch (Exception e) {

;instructiune afisare I4

}

;instructiune afisare I5

Precizati care este succesiunea de executie a instructiunilor I1-I5.

Codul nu se compileaza deoarece Exception este clasa acoperitoare
I1 I3 I4
I1 I3 I5
I1 I3 I4 I5
I1 I3
Care din urmatoarele afirmatii referitoare la upcasting sunt adevarate:
Upcastingul este conversia explicita de la un tip de baza la un tip derivat.
Upcastingul este conversia explicita de la un tip derivat la un tip de baza.
Upcastingul nu are legatura cu conceptul de mostenire.
Upcastingul este conversia implicita de la un tip derivat la un tip de baza.
Upcastingul este conversia implicita de la un tip de baza la un tip derivat.
Care din urmatoarele afirmatii referitoare la cuvantul cheie super sunt adevarate:
Trebuie folosit pe post de constructor al clasei de baza si trebuie sa apara in prima linie a constructorului clasei derivate, cand clasa de baza nu are constructor fara parametri.
Super reprezinta (contine) o referinta catre subobiectul asociat obiectului curent, subobiect de tipul clasei de baza.
Este folosit pentru accesarea datelor membre si metodelor mostenite din clasa de baza pentru a face diferentierea dintre datele membre / metodele cu aceeasi denumire / suprascrise in clasa derivata.
Trebuie folosit pe post de constructor al clasei de baza si trebuie sa apara in prima linie a constructorului clasei derivate, cand clasa derivata nu are constructor fara parametri.
Super reprezinta (contine) o referinta catre obiectul curent.
Care din urmatoarele afirmatii referitoare la suprascriere sunt adevarate:
Suprascrierea se poate face si pentru constructor.
Suprascrierea reprezinta scrierea unei metode cu prototip identic cu o metoda mostenita.
Suprascrierea este un termen incorect, termenul corest este supraincarcare.
Suprascrierea reprezinta scrierea unei metode cu nume identic cu o metoda mostenita dar cu set diferit de parametri (ca numar, tip sau ordine).
Suprascrierea are legatura cu conceptul de mostenire.
Care din urmatoarele afirmatii legate de clase si obiecte sunt adevarate:
Daca utilizatorul nu instantiaza un obiect atunci este instantiat automat.
Un obiect este o variabila de tipul unei clase.
Obiectele se creaza cu operatorul [NEW].
O clasa contine date membre SI metode.
O clasa contine date membre SI / SAU metode.
O clasa contine date membre SAU metode.
Care din urmatoarele afirmatii referitoare la supraincarcare sunt adevarate:
Supraincarcarea se poate face si pentru constructor.
Supraincarcarea reprezinta scrierea intr-o clasa a unei metode cu acelasi nume cu alta metoda (din aceeasi clasa) dar care alt set de parametri (ca numar, tip sau ordine).
Supraincarcarea este un termen incorect, termenul corest este suprascriere.
Supraincarcarea reprezinta scrierea unei metode cu prototip identic cu o metoda mostenita.
Supraincarcarea se poate face si pentru o metoda mostenita.
Care din urmatoarele afirmatii referitoare la specificatorul de acces package sunt adevarate:
O clasa cu specificator de acces package poate fi utilizata din exteriorul biblioteciii (pachetului) in care se afla doar daca este implicata intr-o relatie de mostenire.
Package este un specificator de acces explicit.
In cazul in care o data membra / metoda are specificator de acces package atunci aceasta nu este disponibila din exteriorul clasei in care se afla.
In cazul in care o clasa are specificator de acces package atunci aceasta nu este disponibila din exteriorul bibliotecii (pachetului) in care se afla.
Package este un specificator de acces implicit pentru care nu exista un cuvant cheie in limbajul Java.
Care din urmatoarele afirmatii referitoare la specificatorii de acces pentru clase (Nu clase interioare) sunt adevarate:
Daca o clasa nu are un specificator de acces explicit atunci specificatorul de acces este package.
O clasa poate avea specificator de acces public, package, sau protected in cazul in care este implicata intr-o relatie de mostenire.
O clasa poate avea specificator de acces public, package, private sau protected.
O clasa poate avea specificator de acces public sau package.
O clasa poate avea specificator de acces public, package, sau protected in cazul in care este clasa de baza intr-o relatie de mostenire, pentru a fi accesibila din exteriorul pachetului.
Care din urmatoarele afirmatii referitoare la constructori sunt adevarate:
Constructorul este o functie cu nume identic cu numele clasei dar nu neaparat case-sensitive.
Constructorul este apelat la crearea obiectului dupa initializarea implicita sau explicita a datelor membre aferente obiectului.
Un constructor fara parametri se numeste constructor implicit.
O clasa poate avea mai multi constructori cu respectarea regulilor referitoare la supraincarcare.
Un constructor poate avea sau nu parametri dar returneaza void.
Care din urmatoarele afirmatii despre exceptii sunt adevarate:
Clauza throws permite declararea exceptiilor care pot fi aruncate de o functie.
Clauza throw permite declararea exceptiilor care pot fi aruncate de o functiie.
Clauza throws este folosita pentru a arunca o exceptie.
Clauza throws permite si declararea de exceptii care nu sunt aruncate in cadrul unei functii.

Fie clasa ParcDeMasini<T extends Masina> o clasa care are un constructor fara parametri, T fiind un tip generic.

Fie clasele Toyota respectiv DaciaLogan doua clase derivate din clasa Masina.

Care din urmatoarele instructiuni sunt corecte din punct de vedere sintactic:

ParcDeMasini<Masina> p = new ParcDeMasini<Masina>();

ParcDeMasini<? extends Masina> p = new ParcDeMasini<Toyota>();

ParcDeMasini p = new ParcDeMasini();

ParcDeMasini<Toyota> p = new ParcDeMasini<Toyota>();

ParcDeMasini<Masina> p = new ParcDeMasini<DaciaLogan>();

Se considera urmatoarea secventa de cod in care cllasa Exceptie1 este derivata din clasa RuntimeException:

try {

;instructiune afisare I1

throw new Exceptie1();

;instructiune afisare I2

} catch (Exception e) {

;instructiune afisare I3

    } finally {

;instructiune afisare I4

}

;instructiune afisare I5

Precizati care este succesiunea de executie a instructiunilor I1-I5.

I1 I4 I5
Codul nu se compileaza pentru ca nu se prinde tipul de RuntimeException sau ceva derivat din aceasta clasa
I1 I3 I5
I1 I3 I4 I5
I1 I4 I5
Care din urmatoarele afirmatii referitoare la cuvantul cheie this sunt adevarate:
In cadrul unei clase, this se poate folosi pe post de constructor si/sau referinta catre obiectul curent.
In cadrul unei clase, this se poate folosi pe post de constructor sau referinta catre obiectul curent, nu ambele.
In cazul folosirii this pe post de constructor acesta poate apare doar in prima linie a altui constructor.
In cazul folosirii pe post de constructor in cadrul unui alt constructor this poate aparea cel putin o data.
In cazul folosirii pe post de constructor in cadrul unui alt constructor this poate aparea cel mult o data.
Care din urmatoarele afirmatii referitoare la cuvantul cheie static sunt adevarate:
Datele membre statice nu pot fi accesate folosind obiecte.
Metodele / datele membre statice pot fi apelate / accesate folosind denumirea clasei in care sunt declarate.
O data membra statica nu poate fi accesata de o metoda nestatica a aceleiasi clase.
O data membra statica este comuna tuturor obiectelor de acelasi tip
O metoda statica nu poate accesa date membre nestatice ale aceleiasi clase.
O clasa derivata poate mosteni:
O clasa de baza si mai multe interfete, daca acestea din urma nu au metode default cu acelasi prototip.
O clasa de baza, mai multe interfete, si o clasa abstracta, daca aceasta din urma are doar metode abstracte.
O clasa de baza si mai multe interfete daca acestea nu au metode default.
O clasa de baza si mai multe interfete.
O clasa de baza, mai multe interfete, si o clasa abstracta.
{"name":"Examen POO", "url":"https://www.quiz-maker.com/QPREVIEW","txt":"Participă la acest examen pentru a-ți evalua cunoștințele despre Programarea Orientată pe Obiect (POO). Acesta conține 21 de întrebări care acoperă concepte fundamentale precum moștenirea, polimorfismul, clasele abstracte și multe altele.Testare cu 21 de întrebări.Verificarea cunoștințelor în POO.Obținerea unui feedback imediat.","img":"https:/images/course2.png"}
Powered by: Quiz Maker