Różnica między obiektem a instancją

Różnica między obiektem a instancją
Różnica między obiektem a instancją

Wideo: Różnica między obiektem a instancją

Wideo: Różnica między obiektem a instancją
Wideo: Nokia N8 в 2022 году? Ретро обзор смартфона #Nokia 2024, Lipiec
Anonim

Obiekt a instancja

Programowanie zorientowane obiektowo (OOP) to jeden z najpopularniejszych paradygmatów programowania. W OOP nacisk kładziony jest na myślenie o problemie do rozwiązania w kategoriach elementów świata rzeczywistego i przedstawianie problemu w kategoriach obiektów i ich zachowania. Wiele języków programowania obsługujących kluczowe aspekty OOP (zwanych językami OOP) ma klasę jako główne narzędzie programistyczne. Nazywa się je klasami. Klasy są abstrakcyjną reprezentacją obiektów świata rzeczywistego. Klasy mają właściwości zwane atrybutami. Atrybuty są implementowane jako zmienne globalne i instancyjne. Metody w klasach reprezentują lub definiują zachowanie tych klas. Metody i atrybuty klas nazywane są członkami klasy. Mówiąc bardzo prosto, klasa to projekt lub szablon dla konkretnego obiektu z prawdziwego życia. Tak więc obiekt jest blokiem pamięci używanym do przechowywania niezbędnych informacji zgodnie z tym projektem. Instancja to blok pamięci, który odwołuje się do obiektu.

Co to jest obiekt?

Obiekty są wynikiem tworzenia instancji klasy. Tworzenie instancji to proces pobierania planu i definiowania każdego atrybutu i zachowania tak, aby wynikowy obiekt faktycznie reprezentował rzeczywisty obiekt. Obiekt to wydzielony i ciągły blok pamięci przeznaczony do przechowywania informacji takich jak zmienne, metody, funkcje itp. Obiekt tworzony jest za pomocą nowego operatora, w języku programowania Java. Na przykład, jeśli istnieje klasa o nazwie Samochód, to do utworzenia obiektu klasy Samochód można użyć poniższego.

nowy samochód();

Tutaj obiekt Car jest tworzony przez nowy operator i zwracane jest odwołanie do obiektu. Nowy operator wraz z konstruktorem klasy Car służy do tworzenia nowego obiektu. Żywotność obiektu rozpoczyna się od wywołania jego konstruktora do momentu jego zniszczenia. Gdy obiekt nie zostanie odesłany, zostanie usunięty/zniszczony przez garbage collector.

Co to jest instancja?

Instance to blok pamięci, który zawiera odwołanie do obiektu. Innymi słowy, Instancja zachowa adres początkowego bloku pamięci, w którym przechowywany jest obiekt. W rzeczywistości nazwa instancji może być użyta do uzyskania dostępu do początku obszaru pamięci obiektu. Przesunięcia z pamięci startowej są obliczane przez silnik wykonawczy, dzięki czemu możemy przejść do miejsca, w którym przechowywane są poszczególne dane lub odwołania do metod. Poniższy kod Java może zostać użyty do utworzenia instancji obiektu Car.

Samochód myCar=nowy samochód();

Jak wspomniano powyżej, nowy operator tworzy obiekt Car i zwraca do niego odwołanie. To odniesienie jest przechowywane w zmiennej typu samochodu myCar. Tak więc myCar jest instancją utworzonego obiektu Car.

Jaka jest różnica między obiektem a instancją?

Object to ciągły blok pamięci, który przechowuje aktualne informacje odróżniające ten obiekt od innych obiektów, podczas gdy instancja jest referencją do obiektu. Jest to blok pamięci, który wskazuje na adres początkowy miejsca, w którym przechowywany jest obiekt. Dwie instancje mogą odnosić się do tego samego obiektu. Żywotność obiektu i instancji nie są ze sobą powiązane. Dlatego instancja może mieć wartość NULL. Gdy wszystkie instancje wskazujące na obiekt zostaną usunięte, obiekt zostanie zniszczony.

Zalecana: