Apa perbedaan antara Instans dan Objek? Apakah ada perbedaan atau tidak?
Apa perbedaan antara Instans dan Objek? Apakah ada perbedaan atau tidak?
Jawaban:
Instance dan Objek berasal dari Pemrograman Berorientasi Objek .
Untuk beberapa bahasa pemrograman seperti Java, C ++, dan Smalltalk, penting untuk mendeskripsikan dan memahami kode. Dalam bahasa lain yang digunakan dalam Pemrograman Terstruktur, konsep ini tidak ada.
Ini adalah pandangan dari Pemrograman Struktural. Tidak ada perbedaan signifikan yang nyata yang seharusnya menghabiskan terlalu banyak waktu Anda. Mungkin ada beberapa bahasa mewah yang mungkin membutuhkan banyak ruang untuk ditulis, tetapi pada akhirnya, sejauh menyangkut pembuat kode, pengembang, pemrogram, arsitek, contoh kelas dan objek memiliki arti yang sama dan sering kali dapat digunakan secara bergantian . Saya belum pernah bertemu seseorang dalam karier saya yang pilih-pilih dan menghabiskan setengah jam mencoba menunjukkan perbedaan karena sebenarnya tidak ada. Waktu dapat dihabiskan dengan lebih baik untuk upaya pengembangan lainnya.
PEMBARUAN Sehubungan dengan Swift, inilah yang lebih disukai Apple yang menemukan Swift:
Sebuah instance dari kelas secara tradisional dikenal sebagai objek. Namun, kelas dan struktur Swift memiliki fungsionalitas yang lebih dekat daripada bahasa lain, dan sebagian besar bab ini menjelaskan fungsionalitas yang dapat diterapkan ke instance kelas atau tipe struktur. Karena itu, istilah instance yang lebih umum digunakan.
Pertanyaan yang bagus.
Saya akan menjelaskannya dengan cara yang sesederhana mungkin: Katakanlah Anda memiliki 5 apel di keranjang Anda. Masing-masing buah apel tersebut merupakan benda jenis apel, yang memiliki beberapa ciri (yaitu besar, bulat, tumbuh di pohon).
Dalam istilah pemrograman, Anda dapat memiliki kelas yang disebut Apple, yang memiliki ukuran variabel: besar, bentuk: bulat, habitat: tumbuh di pohon. Untuk memiliki 5 apel di keranjang Anda, Anda perlu membuat contoh 5 apel. Apple apple1, Apple apple2, Apple apple3 etc...
.
Alternatifnya: Objek adalah definisi dari sesuatu, contoh adalah benda fisik.
Apakah ini masuk akal?
Instance: instance berarti hanya membuat referensi (copy).
objek: berarti ketika lokasi memori dikaitkan dengan objek (adalah entitas run-time kelas) dengan menggunakan operator baru.
Dengan kata sederhana, Instance mengacu pada salinan objek pada waktu tertentu sedangkan objek mengacu pada alamat memori kelas.
Katakanlah Anda sedang membangun beberapa kursi.
Diagram yang menunjukkan cara membuat kursi dan menyatukannya sesuai dengan kelas perangkat lunak.
Katakanlah Anda membangun lima kursi sesuai dengan pola di diagram itu. Demikian pula, Anda dapat membuat lima objek perangkat lunak sesuai dengan pola di kelas.
Setiap kursi memiliki nomor unik yang dibakar di bagian bawah kursi untuk mengidentifikasi setiap kursi tertentu. Kursi 3 adalah salah satu contoh pola kursi. Demikian pula, lokasi memori 3 dapat berisi satu contoh pola perangkat lunak.
Jadi, sebuah instance (kursi 3) adalah satu perwujudan unik dan spesifik dari sebuah pola kursi.
Objek :
Ini adalah istilah umum yang pada dasarnya adalah bundel Perangkat Lunak yang memiliki status (variabel) dan perilaku (metode)
Kelas :
Cetak biru (template) untuk sebuah instance objek-itu adalah objek yang unik misalnya Anda membuat objek dua kali yang artinya Anda telah membuat dua contoh
Izinkan saya memberi contoh
Class student()
{
private string firstName;
public student(string fname)
{
firstName=fname;
}
Public string GetFirstName()
{
return firstName;
}
}
Contoh objek :
Mahasiswa s1 = mahasiswa baru ("Martin"); Siswa s2 = siswa baru ("Kumar");
S1, s2 adalah objek kelas Student
Contoh :
s1 dan s2 adalah instance dari objek siswa yang keduanya unik .
itu bisa disebut sebagai referensi juga.
pada dasarnya s1 dan s2 adalah variabel yang diberi objek
Objek dan instance sebagian besar sama; tetapi ada perbedaan yang sangat kecil. Jika Car
kelas, 3 Car
s adalah 3 objek yang berbeda. Semua objek ini adalah contoh. Jadi 3 mobil ini adalah objek dari instance Car
kelas.
Tetapi kata "contoh" juga bisa berarti "contoh struktur". Tapi objek hanya untuk kelas.
Semua objek adalah contoh. Tidak semua contoh harus berupa objek. Contoh dapat berupa "contoh struktur" atau "objek". Saya harap ini membuat perbedaannya jelas bagi Anda.
Objek adalah konstruksi, sesuatu yang statis yang memiliki fitur dan sifat tertentu, seperti properti dan metode, dapat berupa apa saja (string, kontrol pengguna, dll)
Instance adalah salinan unik dari objek tersebut yang dapat Anda gunakan dan lakukan berbagai hal.
Bayangkan sebuah produk seperti komputer.
Stasiun kerja xw6400 adalah sebuah objek
Stasiun kerja xw6400 ANDA, (atau stasiun kerja xw6400 ISTRI ANDA) adalah contoh objek stasiun kerja xw6400
Jawaban ini mungkin terlihat basi, tetapi mengkhawatirkan perbedaan antara sebuah instance dan objek sudah menjadi kota yang basi.
Saya pikir yang terbaik digambarkan dalam javascript:
let obj= {"poo":1}
// "obj" is an object
ayat-ayat
Class Trash {
constructor(){this.poo = 1;}
}
let i = new Trash();
// "i" is an instance
Instance adalah representasi spesifik dari suatu objek. Objek adalah hal yang umum sedangkan instance adalah objek tunggal yang telah dibuat dalam memori. Biasanya sebuah instance akan memiliki nilai yang ditetapkan ke propertinya yang membedakannya dari instance lain dari tipe objek.
Jika kita melihat Definisi Objek dan Objek Instance -
Memori yang dialokasikan untuk anggota kelas pada saat berjalan disebut objek atau objek adalah turunan dari Kelas.
Mari kita lihat Definisi dari instance -
Memori yang dialokasikan Untuk Apa saja pada waktu berjalan disebut sebagai variabel instan.
Sekarang pahami arti dari setiap alokasi memori run time yang terjadi di C juga melalui Malloc, Calloc, Realloc seperti:
struct p
{
}
p *t1
t1=(p) malloc(sizeof(p))
Jadi di sini juga kita mengalokasikan alokasi memori run time tapi di sini kita sebut sebagai instance jadi t1 adalah instance di sini kita tidak bisa mengatakan t1 sebagai objek jadi Setiap objek adalah turunan dari Kelas tetapi setiap Instance bukan Objek.
Object - Sebuah instance dari kelas yang memiliki statusnya sendiri dan akses ke semua perilaku yang ditentukan oleh kelasnya.
Instance - Referensi ke area memori untuk kelas tertentu itu.
Saya tidak percaya, kecuali untuk satu orang yang tidak ada yang menggunakan kode untuk menjelaskan ini, izinkan saya mencobanya juga!
// Design Class
class HumanClass {
var name:String
init(name:String) {
self.name = name
}
}
var humanClassObject1 = HumanClass(name: "Rehan")
Sekarang sisi kiri yaitu: "humanClassObject1" adalah objek dan sisi kanan yaitu: HumanClass (nama: "Rehan") adalah turunan dari objek ini.
var humanClassObject2 = HumanClass(name: "Ahmad") // again object on left and it's instance on the right.
Jadi pada dasarnya, instance berisi nilai-nilai spesifik untuk objek itu dan objek berisi lokasi memori (saat run-time).
Ingat pernyataan terkenal "referensi objek tidak disetel ke turunan objek", ini berarti objek yang tidak diinisialisasi tidak memiliki contoh apa pun. Dalam beberapa bahasa pemrograman seperti swift, compiler tidak akan mengizinkan Anda untuk mendesain kelas yang tidak memiliki cara untuk menginisialisasi semua anggotanya (variabel misalnya: nama, usia, dll), tetapi dalam beberapa bahasa Anda diizinkan untuk melakukan ini:
// Design Class
class HumanClass {
var name:String // See we don't have any way to initialise name property.
}
Dan kesalahan hanya akan ditampilkan pada waktu proses ketika Anda mencoba melakukan sesuatu seperti ini:
var myClass = HumanClass()
print(myClass.name) // will give, object reference not set to an instance of the object.
Kesalahan ini menunjukkan bahwa, nilai spesifik (untuk variabel \ properti) adalah "INSTANCE" ketika saya mencoba menjelaskan ini di atas! Dan objeknya yaitu: "myClass" berisi lokasi memori (saat run-time).
Ketika variabel dideklarasikan dari tipe khusus (kelas), hanya referensi yang dibuat, yang disebut objek. Pada tahap ini, tidak ada memori yang dialokasikan ke objek ini . Ini bertindak hanya sebagai penunjuk (ke lokasi di mana objek akan disimpan di masa mendatang). Proses ini disebut 'Deklarasi'.
Employee e; // e is an object
Di sisi lain, saat variabel tipe kustom dideklarasikan menggunakan new
operator, yang mengalokasikan memori di heap ke objek ini dan mengembalikan referensi ke memori yang dialokasikan. Objek inilah yang sekarang disebut sebagai instance . Proses ini disebut 'Instansiasi'.
Employee e = new Employee(); // e is an instance
Di sisi lain, dalam beberapa bahasa seperti Java, sebuah objek setara dengan sebuah instance, seperti yang terlihat dari baris yang tertulis dalam dokumentasi Oracle di Java :
Catatan: Frasa "instantiating a class" artinya sama dengan "membuat objek". Saat Anda membuat objek, Anda membuat "instance" dari kelas, oleh karena itu "membuat" kelas.
setiap objek dikatakan sebagai turunan kelasnya tetapi setiap turunan kelas memiliki nilai sendiri untuk setiap atribut intances berbagi nama atribut dan operasi dengan intance kelas mereka tetapi sebuah objek berisi referensi implisit ke kelasnya
Kelas: Kelas adalah cetak biru. Objek: Ini adalah salinan kelas. Contoh: Ini adalah variabel yang digunakan untuk menyimpan alamat memori objek.
Contoh analitis yang sangat mendasar
Class House -> Cetak Biru rumah. Tapi Anda tidak bisa hidup dalam cetak biru. Anda membutuhkan rumah fisik yang merupakan contoh kelas untuk ditinggali. Yaitu, alamat sebenarnya dari objek tersebut adalah contoh. Contoh mewakili objek.
Setelah Anda membuat instance kelas (menggunakan baru), benda yang dibuat itu menjadi objek. Objek adalah sesuatu yang dapat mengikuti enkapsulasi, polimorfisme, prinsip-prinsip abstraksi dari pemrograman berorientasi objek dan hal nyata yang berinteraksi dengan program untuk mengkonsumsi anggota instance yang ditentukan di kelas. Objek berisi anggota instance (anggota non-statis).
Jadi instance kelas adalah objek. Kata 'instance' digunakan ketika Anda merujuk ke asal dari mana ia lahir, akan lebih jelas jika Anda mengatakan 'instance of a class' dibandingkan dengan 'object of a class' (meskipun yang terakhir dapat digunakan).
Dapat juga membaca bagian 'Kelas dalam' dari dokumen java ini pada kelas bersarang - https://docs.oracle.com/javase/tutorial/java/javaOO/nested.html
Java adalah bahasa pemrograman berorientasi objek (OOP). Artinya, semua yang ada di Java, kecuali tipe primitif adalah objek.
Sekarang, objek Java mirip dengan objek dunia nyata. Misalnya kita dapat membuat objek mobil di Java, yang akan memiliki properti seperti kecepatan dan warna saat ini; dan perilaku seperti: mempercepat dan parkir.
Itu Object .
Instance , di sisi lain, adalah salinan unik dari objek yang terlihat seperti itu Car car = new Car()
.
Lihat ini untuk mempelajari lebih lanjut tentang kelas dan objek Java
Jawaban Cepat dan Sederhana
Mengenai perbedaan antara an object
dan an instance
, saya kira tidak ada kesepakatan sama sekali.
Bagi saya sepertinya orang-orang mengubahnya secara bergantian, di koran, posting blog, buku atau percakapan.
Bagi saya, menurut pandangan saya, sebuah objek adalah entitas generik dan hidup dalam memori, ditentukan oleh bahasa yang digunakannya. Sama seperti Object
kelasnya Java
. Kami tidak terlalu peduli dengan jenisnya, atau hal lain yang terkait dengannya, apakah itu dikelola oleh wadah atau tidak.
An instance
adalah object
tapi terkait dengan tipe, seperti dalam this method accepts Foo instances
, atau you can not put Animal instances in an instance of
a List of Vehicles
.
object
s misalnya locks
terkait dengan mereka, bukan instance
s, sedangkan instance
s memiliki metode. objects
adalah sampah dikumpulkan, bukan instance
s.
Tapi seperti yang saya katakan, ini hanya bagaimana saya melihatnya, dan saya rasa tidak ada organisasi yang dapat kita rujuk untuk definisi standar di antara mereka dan setiap orang akan memiliki pemahaman / definisi yang sedikit berbeda (tentu saja dalam batasan) .
Suatu benda adalah hal yang umum, misalnya mengambil fungsi linier dalam matematika
ax + b adalah sebuah objek, sedangkan 3x + 2 adalah turunan dari objek tersebut
Objek <<< Instance
Umum <<< Spesifik
Tidak ada yang lebih dari ini
Sebuah benda bisa menjadi kelas, katakanlah Anda memiliki kelas yang disebut bola basket.
tetapi Anda ingin memiliki banyak bola basket, jadi dalam kode Anda, Anda membuat lebih dari 1 bola basket
katakanlah basketball1 dan basketball2. Kemudian Anda menjalankan aplikasi Anda. Anda sekarang memiliki 2 objek bola basket.
Objek merujuk ke kelas dan instance merujuk ke objek. Dengan kata lain, instance adalah salinan dari objek yang memiliki nilai tertentu di dalamnya.