então você quer dizer objeto == classe? ou você quer dizer classe carregada e se torna objeto e objeto instanciado para se tornar instância? você não responde confuso?
p_champ
Pense na classe como uma definição. Quando você instancia a classe, você tem o objeto que pode ser usado. Esse objeto é fisicamente representado na memória.
Dustin Laine
@Dustin Laine a diferença ainda não é clara. Você pode me ajudar?
Torta de
@DustinLaine A questão faz a diferença entre 'instância' e 'objeto'. Porém, nesta resposta, o que foi explicado é o processo de 'instanciação' de uma classe para obtenção de 'objeto'. Sua postagem e seu comentário não correspondem. Na postagem, é mencionado que uma 'instância' é um objeto na memória. Porém, no comentário, é mencionado que depois de instanciar a classe, você obtém o 'objeto', que é representado na memória. Isso é um pouco ambíguo.
Para algumas linguagens de programação como Java, C ++ e Smalltalk, é importante descrever e compreender o código. Em outras linguagens que usamos em Programação Estruturada este conceito não existe.
Esta é a visão da Programação Estrutural. Não há diferença significativa real que deva consumir muito do seu tempo. Pode haver alguma linguagem sofisticada sobre a qual algumas pessoas podem ocupar muito espaço para escrever, mas no final do dia, no que diz respeito a um codificador, desenvolvedor, programador, arquiteto, uma instância de uma classe e uma objeto significa a mesma coisa e muitas vezes pode ser usado indistintamente. Nunca conheci ninguém na minha carreira que fosse exigente e passasse meia hora tentando apontar as diferenças, porque realmente não há nenhuma. O tempo pode ser melhor gasto em outros esforços de desenvolvimento.
ATUALIZAÇÃO Com relação ao Swift, é isso que a Apple que inventou o Swift prefere:
Uma instância de uma classe é tradicionalmente conhecida como um objeto. No entanto, as classes e estruturas do Swift são muito mais próximas em funcionalidade do que em outras linguagens, e grande parte deste capítulo descreve a funcionalidade que pode ser aplicada a instâncias de uma classe ou de um tipo de estrutura. Por causa disso, o termo instância mais geral é usado.
Vou explicar da maneira mais simples possível: digamos que você tenha 5 maçãs em sua cesta. Cada uma dessas maçãs é um objeto do tipo Maçã, que possui algumas características (ou seja, grande, redondo, cresce em árvores).
Em termos de programação, você pode ter uma classe chamada Apple, que possui variáveis de tamanho: grande, forma: redonda, habitat: cresce em árvores. Para ter 5 maçãs em sua cesta, você precisa instanciar 5 maçãs. Apple apple1, Apple apple2, Apple apple3 etc....
Alternativamente: objetos são as definições de algo, instâncias são as coisas físicas.
dizer que uma instância é uma referência a um objeto realmente esclareceu as coisas para mim.
John C
2
@JohnC Não deveria, porque não está correto. Um objeto é uma instância de uma classe. Isso é tudo que há para fazer.
Marquês de Lorne
8
Digamos que você esteja construindo algumas cadeiras.
O diagrama que mostra como construir uma cadeira e montá-la corresponde a uma aula de software.
Digamos que você construa cinco cadeiras de acordo com o padrão desse diagrama. Da mesma forma, você pode construir cinco objetos de software de acordo com o padrão de uma classe.
Cada cadeira tem um número exclusivo gravado na parte inferior do assento para identificar cada cadeira específica. A cadeira 3 é uma instância de um padrão de cadeira. Da mesma forma, o local da memória 3 pode conter uma instância de um padrão de software.
Portanto, uma instância (cadeira 3) é uma manifestação única e específica de um padrão de cadeira.
Um objeto é uma instância de uma classe. Uma instância não é uma instância de um objeto. A resposta não tem sentido.
Marquês de Lorne
1
Uau, depois de nove anos, alguém finalmente apontou a falha em minha explicação. Obrigado! Melhor agora?
Brian Showalter
7
Objeto :
É um termo genérico basicamente é um pacote de software que tem estado (variáveis) e comportamento (métodos)
Classe :
Uma cópia azul (modelo) para uma instância de objeto - é um objeto único, por exemplo, você cria um objeto duas vezes, o que significa que você criou duas instâncias
Deixe-me dar um exemplo
Class student()
{
private string firstName;
public student(string fname)
{
firstName=fname;
}
Public string GetFirstName()
{
return firstName;
}
}
Exemplo de objeto :
Aluno s1 = novo aluno ("Martin"); Aluno s2 = novo aluno ("Kumar");
Os s1, s2 estão tendo objeto da classe Aluno
Instância :
s1 e s2 são instâncias do objeto aluno - os dois são únicos .
ele também pode ser chamado de referência .
basicamente o s1 e s2 são variáveis que são atribuídas a um objeto
Objetos e instâncias são basicamente iguais; mas há uma diferença muito pequena. Se Carfor uma classe, 3 Cars são 3 objetos diferentes. Todos esses objetos são instâncias. Portanto, esses 3 carros são objetos de instâncias da Carclasse.
Mas a palavra "instância" também pode significar "instância de estrutura". Mas o objeto é apenas para aulas.
Todos os objetos são instâncias. Nem todas as instâncias devem ser objetos. As instâncias podem ser "instâncias de estrutura" ou "objetos". Espero que isso torne a diferença clara para você.
Um objeto é uma construção, algo estático que tem certos recursos e características, como propriedades e métodos, pode ser qualquer coisa (uma string, um controle de usuário, etc)
Uma instância é uma cópia exclusiva desse objeto que você pode usar e fazer coisas com ele.
Imagine um produto como um computador.
A estação de trabalho xw6400 é um objeto
SUA estação de trabalho xw6400 (ou a estação de trabalho xw6400 de SUA ESPOSA) é uma instância do objeto estação de trabalho xw6400
Uma instância é uma representação específica de um objeto. Um objeto é uma coisa genérica, enquanto uma instância é um único objeto que foi criado na memória. Normalmente, uma instância terá valores atribuídos às suas propriedades que a diferenciam de outras instâncias do tipo de objeto.
Se virmos a Definição de Objeto e o objeto Instância -
A memória alocada para o membro da classe em tempo de execução é chamada de objeto ou o objeto é a instância de Class.
Vamos ver a definição de instância -
A memória alocada para Qualquer em tempo de execução é chamada de variável de instância.
Agora entenda o significado de qualquer alocação de memória de tempo de execução acontecer em C também por meio de Malloc, Calloc, Realloc, como:
struct p
{
}
p *t1
t1=(p) malloc(sizeof(p))
Portanto, aqui também estamos alocando a alocação de memória de tempo de execução, mas aqui chamamos como instância, então t1 é instância aqui, não podemos dizer t1 como objeto, então cada objeto é a instância de Classe, mas cada instância não é Objeto.
Eu não posso acreditar, exceto por um cara que ninguém usou o código para explicar isso, deixe-me tentar também!
// Design Class
class HumanClass {
var name:String
init(name:String) {
self.name = name
}
}
var humanClassObject1 = HumanClass(name: "Rehan")
Agora, o lado esquerdo, isto é: "humanClassObject1" é o objeto, e o lado direito, ou seja: HumanClass (nome: "Rehan") é a instância desse objeto.
var humanClassObject2 = HumanClass(name: "Ahmad") // again object on left and it's instance on the right.
Então, basicamente, a instância contém os valores específicos para aquele objeto e os objetos contêm a localização da memória (em tempo de execução).
Lembre-se da famosa declaração "referência de objeto não definida para uma instância de um objeto", isso significa que objetos não inicializados não têm nenhuma instância. Em algumas linguagens de programação como swift, o compilador não permitirá que você projete uma classe que não tenha nenhuma maneira de inicializar todos os seus membros (variável, por exemplo: nome, idade etc.), mas em algumas linguagens você pode fazer isso:
// Design Class
class HumanClass {
var name:String // See we don't have any way to initialise name property.
}
E o erro só será mostrado em tempo de execução quando você tentar fazer algo assim:
var myClass = HumanClass()
print(myClass.name) // will give, object reference not set to an instance of the object.
Este erro indica que o valor específico (para variáveis \ propriedade) é a "INSTÂNCIA" como tentei explicar acima! E o objeto, ou seja: "myClass", contém a localização da memória (em tempo de execução).
Quando uma variável é declarada de um tipo personalizado (classe), apenas uma referência é criada, que é chamada de objeto. Neste estágio, nenhuma memória é alocada para este objeto . Ele atua apenas como um ponteiro (para o local onde o objeto será armazenado no futuro). Este processo é denominado 'Declaração'.
Employee e; // e is an object
Por outro lado, quando uma variável de tipo customizado é declarada usando o newoperador, que aloca memória em heap para este objeto e retorna a referência para a memória alocada. Este objeto que agora é denominado como instância . Este processo é denominado 'Instanciação'.
Employee e = new Employee(); // e is an instance
Por outro lado, em algumas linguagens como Java, um objeto é equivalente a uma instância, como fica evidente na linha escrita na documentação da Oracle sobre Java :
Observação: a frase "instanciar uma classe" significa o mesmo que "criar um objeto". Quando você cria um objeto, está criando uma "instância" de uma classe, portanto, "instanciando" uma classe.
cada objeto é considerado uma instância de sua classe, mas cada instância da classe tem seu próprio valor para cada atributo intances compartilha o nome do atributo e operação com suas intances de classe, mas um objeto contém uma referência implícita à sua classe on
Classe: uma classe é uma planta. Objeto: É a cópia da aula. Instância: É uma variável que é usada para manter o endereço de memória do objeto.
Um exemplo analítico muito básico
Class House -> Planta da casa. Mas você não pode viver na planta. Você precisa de uma casa física que seja a instância da classe para morar, ou seja, o endereço real do objeto é a instância. As instâncias representam objetos.
Instância se refere ao objeto, não a uma variável.
Marquês de Lorne
0
Depois de instanciar uma classe (usando new), essa coisa instanciada se torna um objeto. Um objeto é algo que pode aderir aos princípios de encapsulamento, polimorfismo, abstração da programação orientada a objetos e a coisa real com a qual um programa interage para consumir os membros da instância definidos na classe. O objeto contém membros da instância (membros não estáticos).
Assim, a instância de uma classe é um objeto. A palavra 'instância' é usada quando você está se referindo à origem de onde ela nasceu, é mais claro se você disser 'instância de uma classe' em comparação com 'objeto de uma classe' (embora o último possa ser usado).
Java é uma linguagem de programação orientada a objetos (OOP). Isso significa que tudo em Java, exceto os tipos primitivos, é um objeto.
Agora, os objetos Java são semelhantes aos objetos do mundo real. Por exemplo, podemos criar um objeto carro em Java, que terá propriedades como velocidade e cor atuais; e comportamentos como: acelerar e estacionar.
Isso é objeto .
A instância , por outro lado, é uma cópia inicializada exclusivamente daquele objeto que se parece Car car = new Car().
Em relação à diferença entre um objecte um instance, não acho que haja consenso.
Parece-me que as pessoas mudam de forma bastante intercambiável, em jornais, postagens de blogs, livros ou conversas.
Quanto a mim, a meu ver, um objeto é uma entidade genérica e viva na memória, especificada pela linguagem em que é usado. Assim como a Objectclasse emJava . Não nos importamos muito com seu tipo ou com qualquer outra coisa associada a ele, seja gerenciado por um contêiner ou não.
Um instanceé um objectmas está associado a um tipo, como em this method accepts Foo instances, ou you can not put Animal instances in an instance of
a List of Vehicles.
objects, por exemplo, têm locksassociado a eles, não instances, enquanto instances têm métodos. objectssão coletados como lixo, não instances.
Mas, como eu disse, é apenas assim que vejo, e não acho que haja qualquer organização a que possamos nos referir para uma definição padrão entre eles e todos terão seus entendimentos / definições ligeiramente diferentes (é claro, dentro de certos limites) .
Isso significaria que um objeto é uma instância de um construtor de classe?
streetparade de
pense no objeto como um projeto. digamos que temos um plano para o basquete, essa é a classe. quando a bola de basquete é criada e feita, agora existe, então isso significaria que temos 1 instância do objeto bola de basquete. se construirmos outra bola de basquete a partir do objeto (planta). agora temos 2 instâncias do basquete. Sempre há apenas 1 objeto, mas podemos fazer muitas instâncias desse objeto.
Darxval
@Darxval então o que é uma classe
Chyanit Singh
-3
Objeto refere-se à classe e instância refere-se a um objeto. Em outras palavras, instância é uma cópia de um objeto com valores específicos.
Respostas:
Uma instância é um objeto na memória. Basicamente, você cria objetos e os instancia quando os usa.
Aqui está um bom artigo sobre Classes Vs Objects Vs Instances, ele está falando Java, mas se aplica a todos OO.
http://alfredjava.wordpress.com/2008/07/08/class-vs-object-vs-instance/
fonte
A Instância e o Objeto são de Programação Orientada a Objetos .
Para algumas linguagens de programação como Java, C ++ e Smalltalk, é importante descrever e compreender o código. Em outras linguagens que usamos em Programação Estruturada este conceito não existe.
Esta é a visão da Programação Estrutural. Não há diferença significativa real que deva consumir muito do seu tempo. Pode haver alguma linguagem sofisticada sobre a qual algumas pessoas podem ocupar muito espaço para escrever, mas no final do dia, no que diz respeito a um codificador, desenvolvedor, programador, arquiteto, uma instância de uma classe e uma objeto significa a mesma coisa e muitas vezes pode ser usado indistintamente. Nunca conheci ninguém na minha carreira que fosse exigente e passasse meia hora tentando apontar as diferenças, porque realmente não há nenhuma. O tempo pode ser melhor gasto em outros esforços de desenvolvimento.
ATUALIZAÇÃO Com relação ao Swift, é isso que a Apple que inventou o Swift prefere:
fonte
Excelente pergunta.
Vou explicar da maneira mais simples possível: digamos que você tenha 5 maçãs em sua cesta. Cada uma dessas maçãs é um objeto do tipo Maçã, que possui algumas características (ou seja, grande, redondo, cresce em árvores).
Em termos de programação, você pode ter uma classe chamada Apple, que possui variáveis de tamanho: grande, forma: redonda, habitat: cresce em árvores. Para ter 5 maçãs em sua cesta, você precisa instanciar 5 maçãs.
Apple apple1, Apple apple2, Apple apple3 etc...
.Alternativamente: objetos são as definições de algo, instâncias são as coisas físicas.
Isso faz sentido?
fonte
Instância: instância significa apenas criar uma referência (cópia).
objeto: significa quando a localização da memória está associada ao objeto (é uma entidade de tempo de execução da classe) usando o novo operador.
Em palavras simples, Instância se refere à cópia do objeto em um determinado momento, enquanto objeto se refere ao endereço de memória da classe.
fonte
Digamos que você esteja construindo algumas cadeiras.
O diagrama que mostra como construir uma cadeira e montá-la corresponde a uma aula de software.
Digamos que você construa cinco cadeiras de acordo com o padrão desse diagrama. Da mesma forma, você pode construir cinco objetos de software de acordo com o padrão de uma classe.
Cada cadeira tem um número exclusivo gravado na parte inferior do assento para identificar cada cadeira específica. A cadeira 3 é uma instância de um padrão de cadeira. Da mesma forma, o local da memória 3 pode conter uma instância de um padrão de software.
Portanto, uma instância (cadeira 3) é uma manifestação única e específica de um padrão de cadeira.
fonte
Objeto :
É um termo genérico basicamente é um pacote de software que tem estado (variáveis) e comportamento (métodos)
Classe :
Uma cópia azul (modelo) para uma instância de objeto - é um objeto único, por exemplo, você cria um objeto duas vezes, o que significa que você criou duas instâncias
Deixe-me dar um exemplo
Exemplo de objeto :
Aluno s1 = novo aluno ("Martin"); Aluno s2 = novo aluno ("Kumar");
Os s1, s2 estão tendo objeto da classe Aluno
Instância :
s1 e s2 são instâncias do objeto aluno - os dois são únicos .
ele também pode ser chamado de referência .
basicamente o s1 e s2 são variáveis que são atribuídas a um objeto
fonte
Objetos e instâncias são basicamente iguais; mas há uma diferença muito pequena. Se
Car
for uma classe, 3Car
s são 3 objetos diferentes. Todos esses objetos são instâncias. Portanto, esses 3 carros são objetos de instâncias daCar
classe.Mas a palavra "instância" também pode significar "instância de estrutura". Mas o objeto é apenas para aulas.
Todos os objetos são instâncias. Nem todas as instâncias devem ser objetos. As instâncias podem ser "instâncias de estrutura" ou "objetos". Espero que isso torne a diferença clara para você.
fonte
Um objeto é uma construção, algo estático que tem certos recursos e características, como propriedades e métodos, pode ser qualquer coisa (uma string, um controle de usuário, etc)
Uma instância é uma cópia exclusiva desse objeto que você pode usar e fazer coisas com ele.
Imagine um produto como um computador.
A estação de trabalho xw6400 é um objeto
SUA estação de trabalho xw6400 (ou a estação de trabalho xw6400 de SUA ESPOSA) é uma instância do objeto estação de trabalho xw6400
fonte
Essa resposta pode ser considerada banal, mas se preocupar com as diferenças entre uma instância e um objeto já é uma cidade banal.
Acho que é melhor representado em javascript:
versos
fonte
Uma instância é uma representação específica de um objeto. Um objeto é uma coisa genérica, enquanto uma instância é um único objeto que foi criado na memória. Normalmente, uma instância terá valores atribuídos às suas propriedades que a diferenciam de outras instâncias do tipo de objeto.
fonte
Se virmos a Definição de Objeto e o objeto Instância -
A memória alocada para o membro da classe em tempo de execução é chamada de objeto ou o objeto é a instância de Class.
Vamos ver a definição de instância -
A memória alocada para Qualquer em tempo de execução é chamada de variável de instância.
Agora entenda o significado de qualquer alocação de memória de tempo de execução acontecer em C também por meio de Malloc, Calloc, Realloc, como:
Portanto, aqui também estamos alocando a alocação de memória de tempo de execução, mas aqui chamamos como instância, então t1 é instância aqui, não podemos dizer t1 como objeto, então cada objeto é a instância de Classe, mas cada instância não é Objeto.
fonte
Object - Uma instância de uma classe que tem seu próprio estado e acesso a todos os comportamentos definidos por sua classe.
Instância - Referência a uma área de memória para aquela classe particular.
fonte
Eu não posso acreditar, exceto por um cara que ninguém usou o código para explicar isso, deixe-me tentar também!
Agora, o lado esquerdo, isto é: "humanClassObject1" é o objeto, e o lado direito, ou seja: HumanClass (nome: "Rehan") é a instância desse objeto.
Então, basicamente, a instância contém os valores específicos para aquele objeto e os objetos contêm a localização da memória (em tempo de execução).
Lembre-se da famosa declaração "referência de objeto não definida para uma instância de um objeto", isso significa que objetos não inicializados não têm nenhuma instância. Em algumas linguagens de programação como swift, o compilador não permitirá que você projete uma classe que não tenha nenhuma maneira de inicializar todos os seus membros (variável, por exemplo: nome, idade etc.), mas em algumas linguagens você pode fazer isso:
E o erro só será mostrado em tempo de execução quando você tentar fazer algo assim:
Este erro indica que o valor específico (para variáveis \ propriedade) é a "INSTÂNCIA" como tentei explicar acima! E o objeto, ou seja: "myClass", contém a localização da memória (em tempo de execução).
fonte
Quando uma variável é declarada de um tipo personalizado (classe), apenas uma referência é criada, que é chamada de objeto. Neste estágio, nenhuma memória é alocada para este objeto . Ele atua apenas como um ponteiro (para o local onde o objeto será armazenado no futuro). Este processo é denominado 'Declaração'.
Por outro lado, quando uma variável de tipo customizado é declarada usando o
new
operador, que aloca memória em heap para este objeto e retorna a referência para a memória alocada. Este objeto que agora é denominado como instância . Este processo é denominado 'Instanciação'.Por outro lado, em algumas linguagens como Java, um objeto é equivalente a uma instância, como fica evidente na linha escrita na documentação da Oracle sobre Java :
fonte
cada objeto é considerado uma instância de sua classe, mas cada instância da classe tem seu próprio valor para cada atributo intances compartilha o nome do atributo e operação com suas intances de classe, mas um objeto contém uma referência implícita à sua classe on
fonte
Classe: uma classe é uma planta. Objeto: É a cópia da aula. Instância: É uma variável que é usada para manter o endereço de memória do objeto.
Um exemplo analítico muito básico
Class House -> Planta da casa. Mas você não pode viver na planta. Você precisa de uma casa física que seja a instância da classe para morar, ou seja, o endereço real do objeto é a instância. As instâncias representam objetos.
fonte
Depois de instanciar uma classe (usando new), essa coisa instanciada se torna um objeto. Um objeto é algo que pode aderir aos princípios de encapsulamento, polimorfismo, abstração da programação orientada a objetos e a coisa real com a qual um programa interage para consumir os membros da instância definidos na classe. O objeto contém membros da instância (membros não estáticos).
Assim, a instância de uma classe é um objeto. A palavra 'instância' é usada quando você está se referindo à origem de onde ela nasceu, é mais claro se você disser 'instância de uma classe' em comparação com 'objeto de uma classe' (embora o último possa ser usado).
Também pode ler a seção 'Classes internas' deste documento java sobre classes aninhadas - https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
fonte
Java é uma linguagem de programação orientada a objetos (OOP). Isso significa que tudo em Java, exceto os tipos primitivos, é um objeto.
Agora, os objetos Java são semelhantes aos objetos do mundo real. Por exemplo, podemos criar um objeto carro em Java, que terá propriedades como velocidade e cor atuais; e comportamentos como: acelerar e estacionar.
Isso é objeto .
A instância , por outro lado, é uma cópia inicializada exclusivamente daquele objeto que se parece
Car car = new Car()
.Confira para aprender mais sobre classes e objetos Java
fonte
Resposta Rápida e Simples
fonte
Em relação à diferença entre um
object
e uminstance
, não acho que haja consenso.Parece-me que as pessoas mudam de forma bastante intercambiável, em jornais, postagens de blogs, livros ou conversas.
Quanto a mim, a meu ver, um objeto é uma entidade genérica e viva na memória, especificada pela linguagem em que é usado. Assim como a
Object
classe emJava
. Não nos importamos muito com seu tipo ou com qualquer outra coisa associada a ele, seja gerenciado por um contêiner ou não.Um
instance
é umobject
mas está associado a um tipo, como emthis method accepts Foo instances
, ouyou can not put Animal instances in an instance of a List of Vehicles
.object
s, por exemplo, têmlocks
associado a eles, nãoinstance
s, enquantoinstance
s têm métodos.objects
são coletados como lixo, nãoinstance
s.Mas, como eu disse, é apenas assim que vejo, e não acho que haja qualquer organização a que possamos nos referir para uma definição padrão entre eles e todos terão seus entendimentos / definições ligeiramente diferentes (é claro, dentro de certos limites) .
fonte
Um objeto é uma coisa genérica, por exemplo, assumir uma função linear em matemática
ax + b é um objeto, enquanto 3x + 2 é uma instância desse objeto
Objeto <<< Instância
Geral <<< Específico
Não há nada mais nisso
fonte
Um objeto pode ser uma classe, digamos que você tenha uma classe chamada basquete.
mas você quer ter várias bolas de basquete, então em seu código você cria mais de 1 bola de basquete
diga basketball1 e basketball2. Então você executa seu aplicativo. Agora você tem 2 instâncias do objeto basquete.
fonte
Objeto refere-se à classe e instância refere-se a um objeto. Em outras palavras, instância é uma cópia de um objeto com valores específicos.
fonte