Diferența dintre obiect și instanță

Diferența dintre obiect și instanță
Diferența dintre obiect și instanță

Video: Diferența dintre obiect și instanță

Video: Diferența dintre obiect și instanță
Video: Nokia E7 против N8 [HD] 2024, Noiembrie
Anonim

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 problemei de rezolvat în termeni de elemente din lumea reală și reprezentarea problemei în termeni de obiecte și comportamentul acestora. Multe limbaje de programare care acceptă aspecte cheie ale OOP (numite limbaje OOP) au clasa ca instrument principal de programare. Ele sunt numite bazate pe clasă. 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 model sau un șablon pentru un anumit obiect din viața reală. Deci, un obiect este blocul (blocurile) de memorie folosit(e) pentru a stoca informațiile necesare conform acestui model. Instanța este un bloc de memorie care se referă la un obiect.

Ce este un obiect?

Obiectele sunt rezultatele instanțierii unei clase. Instanciarea este procesul de preluare a planului și definirea fiecărui atribut și comportament, astfel încât obiectul rezultat să reprezinte de fapt un obiect din viața reală. Object este un bloc de memorie dedicat și continuu alocat pentru a stoca informații precum variabile, metode sau funcții etc. Obiectul este creat cu ajutorul unui operator nou, în limbajul de programare Java. De exemplu, dacă există o clasă numită Car, atunci următoarele pot fi folosite pentru a crea un obiect din clasa Car.

mașină nouă();

Aici, un obiect Car este creat de noul operator și este returnată o referință la obiect. Operatorul nou împreună cu constructorul clasei Car este folosit pentru a crea noul obiect. Durata de viață a obiectului începe de la apelul către constructorul său până la momentul în care este distrus. Odată ce un obiect nu este trimis, acesta va fi îndepărtat/distrus de gunoiul.

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 în care este stocat obiectul. De fapt, numele instanței poate fi folosit pentru a accesa începutul zonei de memorie a obiectelor. Offset-urile 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 de metodă. Următorul cod Java tăiat poate fi folosit pentru a crea o instanță a unui obiect Car.

Car 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 Car type myCar. Deci, myCar este instanța obiectului Car creat.

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

Obiect este un bloc de memorie contiguu care stochează informația reală care distinge 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 fixare a locului în care este stocat obiectul. Două cazuri se pot referi la același obiect. Durata de viață a unui obiect și a unei instanțe nu sunt legate. Prin urmare, o instanță poate fi nulă. Odată ce toate instanțele care indică către un obiect sunt eliminate, obiectul va fi distrus.

Recomandat: