Diferența dintre obiect și instanță

Anonim

Object vs. Instance

Programarea orientată pe obiecte (OOP) este una dintre cele mai populare paradigme de programare. În PLO, accentul se pune pe gândirea problemei care trebuie rezolvată în ceea ce privește elementele lumii reale și reprezentând problema în ceea ce privește obiectele și comportamentul lor. Multe limbi de programare care sprijină aspectele cheie ale OOP (numite limbi OOP) au clasa ca instrument principal de programare. Ele se numesc clasă. Clasele reprezintă 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 clasei sunt numite membrii clasei. În termeni foarte simpli, o clasă este un model sau un șablon pentru un anumit obiect de viață reală. Deci, un obiect este blocul (blocurile) de memorie utilizat pentru a stoca informațiile necesare conform acestui plan. Instanța este un bloc de memorie care se referă la un obiect.

Ce este un obiect?

Obiectele sunt rezultatele instanței unei clase. Instantierea este procesul de luare a planului și de definire a fiecărui atribut și comportament astfel încât obiectul rezultat să reprezinte de fapt un obiect de viață reală. Obiectul este un bloc dedicat și continuu de memorie alocat pentru stocarea informațiilor, cum ar fi variabilele, metodele sau funcțiile etc. Obiectul este creat prin utilizarea unui nou operator, în limbajul de programare Java. De exemplu, dacă există o clasă numită Mașină, atunci se pot utiliza următoarele pentru a crea un obiect al clasei Mașină.

mașină nouă ();

Aici un obiect Car este creat de noul operator și este returnată o referință la obiect. Noul operator împreună cu constructorul clasei Car se utilizează pentru a crea noul obiect. Durata de viață a obiectului începe de la apelul către constructorul său până la momentul distrugerii acestuia. Odată ce un obiect nu este referit, acesta va fi eliminat / distrus de colectorul de gunoi.

Ce este un caz?

Instanța este un bloc de memorie care conține referința la un obiect. Cu alte cuvinte, instanța va păstra adresa blocului de memorie de pornire unde este stocat obiectul. De fapt, numele instanței poate fi utilizat pentru a accesa începutul zonei de memorie obiect. Decalajul din memoria de pornire se calculează de către motorul runtime astfel încât să putem merge acolo unde sunt stocate referințele individuale de date sau metode. Următorul cod Java poate fi utilizat pentru a crea o instanță a unui obiect Mașină.

Mașina myCar = Mașină nouă ();

După cum sa menționat mai sus, noul operator creează obiectul Car și returnează referința la acesta. Această referință este stocată în variabila myCar. Deci, myCar este instanta obiectului Car create.

Care este diferența dintre un obiect și o instanță?

Obiectul este un bloc de memorie contiguu 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 de vizionare a locului unde este stocat obiectul. Două instanțe se referă la același obiect. Intervalele 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.