Obiect vs instanță
Programarea orientată pe obiecte (OOP) este una dintre cele mai populare paradigme de programare. În POO, accentul se pune pe gândirea la problema care trebuie rezolvată în termeni de elemente din lumea reală și reprezentarea problemei în termeni de obiecte și comportamentul lor. Multe limbaje de programare care acceptă aspecte cheie ale OOP (numite limbaje OOP) au clasa ca principal instrument de programare. Sunt numite bazate pe clase. Clasele sunt o reprezentare abstractă a obiectelor din lumea reală. Clasele au proprietăți numite atribute. Atributele sunt implementate ca variabile globale și de instanță. Metodele din clase reprezintă sau definesc comportamentul acestor clase. Metodele și atributele claselor sunt numite membri ai clasei. În termeni foarte simpli, o clasă este un plan sau un șablon pentru un anumit obiect din viața reală. Asa de,un obiect este blocul (blocurile) de memorie utilizate pentru a stoca informațiile necesare în conformitate cu acest plan. Instanța este un bloc de memorie care face referire la un obiect.
Ce este un obiect?
Obiectele sunt rezultatele instanțierii unei clase. Instanțierea este procesul de luare a planului și definirea fiecărui atribut și comportament astfel încât obiectul rezultat să reprezinte de fapt un obiect din viața reală. Obiectul este un bloc dedicat și continuu de memorie alocat stocării informațiilor, cum ar fi variabile, metode sau funcții, etc. Obiectul este creat cu utilizarea unui nou operator, în limbajul de programare Java. De exemplu, dacă există o clasă numită Mașină, atunci următoarele pot fi folosite pentru a crea un obiect din clasa Mașină.
mașină nouă();
Aici, un obiect Car este creat de noul operator și se returnează o referință la obiect. Noul operator împreună cu constructorul clasei Car este folosit pentru a crea noul obiect. Durata de viață a obiectului începe de la apel la constructor până la momentul în care este distrus. Odată ce un obiect nu este trimis, acesta va fi îndepărtat / distrus de colectorul de gunoi.
Ce este o instanță?
Instanța este un bloc de memorie, care conține referința la un obiect. Cu alte cuvinte, Instance va păstra adresa blocului de memorie de pornire unde este stocat obiectul. De fapt, numele instanței poate fi folosit pentru a accesa începutul zonei de memorie a obiectului. Decalajele din memoria de pornire sunt calculate de motorul de rulare, astfel încât să putem merge acolo unde sunt stocate datele individuale sau referințele metodei. Următorul cod Java extras poate fi folosit pentru a crea o instanță a unui obiect Mașină.
Car myCar = mașină nouă ();
După cum sa menționat mai sus, noul operator creează obiectul Mașină și returnează referința la acesta. Această referință este stocată în variabila de tip Car myCar. Deci, myCar este instanța obiectului Car creat.
Care este diferența dintre un obiect și o instanță?
Obiectul este un bloc contiguu de memorie care stochează informațiile reale care disting acest obiect de alte obiecte, în timp ce o instanță este o referință la un obiect. Este un bloc de memorie, care indică adresa fixă a locului în care este stocat obiectul. Două instanțe se pot referi la același obiect. Duratele de viață ale unui obiect și ale unei instanțe nu sunt legate. Prin urmare, o instanță ar putea fi nulă. Odată ce toate instanțele care indică un obiect sunt eliminate, obiectul va fi distrus.