Diferença entre objeto e instância

Anonim

Objeto vs Instância

Programação orientada a objetos (OOP) é ​​um dos paradigmas de programação mais populares. No OOP, o foco é pensar sobre o problema a ser resolvido em termos de elementos do mundo real e representar o problema em termos de objetos e seu comportamento. Muitas linguagens de programação que suportam aspectos-chave do OOP (chamados de linguagens OOP) têm a classe como a principal ferramenta de programação. Eles são chamados de classe. As aulas são uma representação abstrata de objetos do mundo real. As classes possuem propriedades chamadas atributos. Os atributos são implementados como variáveis ​​globais e de instâncias. Os métodos nas classes representam ou definem o comportamento dessas classes. Os métodos e atributos das classes são chamados de membros da classe. Em termos muito simples, uma classe é um modelo ou um modelo para um objeto específico da vida real. Assim, um objeto é o (s) bloco (s) de memória usado (s) para armazenar as informações necessárias de acordo com este plano. Instância é um bloco de memória que remete para um objeto.

O que é um objeto?

Os objetos são os resultados de instanciar uma classe. A instanciação é o processo de tomar o plano e definir cada atributo e comportamento para que o objeto resultante represente realmente um objeto da vida real. O objeto é um bloco dedicado e contínuo de memória alocado para armazenar informações, como variáveis, métodos ou funções, etc. O objeto é criado com o uso de um novo operador, na linguagem de programação Java. Por exemplo, se houver uma classe chamada Car, então o seguinte pode ser usado para criar um objeto da classe Car.

novo carro ();

Aqui, um objeto Car é criado pelo novo operador e uma referência ao objeto é retornada. O novo operador juntamente com o construtor da classe Car é usado para criar o novo objeto. O período de vida do objeto começa a partir da chamada para seu construtor até o momento em que é destruído. Uma vez que um objeto não é encaminhado, ele será removido / destruído pelo coletor de lixo.

O que é uma instância?

Instância é um bloco de memória, que contém a referência a um objeto. Em outras palavras, Instance manterá o endereço do bloco de memória inicial onde o objeto é armazenado. Na verdade, o nome da instância pode ser usado para acessar o início da área da memória do objeto. Os deslocamentos da memória inicial são calculados pelo mecanismo de tempo de execução para que possamos ir para onde as referências de dados ou métodos individuais são armazenadas. Seguir o código Java cortado pode ser usado para criar uma instância de um objeto Car.

Carro myCar = carro novo ();

Como mencionado acima, o novo operador cria o objeto Car e retorna a referência para ele. Esta referência é armazenada na variável de tipo de carro myCar. Então, myCar é a instância do objeto Car criado.

Qual a diferença entre um objeto e uma instância?

O objeto é um bloco contíguo de memória que armazena a informação real que distingue esse objeto de outros objetos, enquanto uma instância é uma referência a um objeto. É um bloco de memória, que aponta para o endereço fixo de onde o objeto está armazenado. Duas instâncias podem se referir ao mesmo objeto. O período de vida de um objeto e uma instância não estão relacionados. Portanto, uma instância pode ser nula. Uma vez que todas as instâncias apontando para um objeto são removidas, o objeto será destruído.