Dalam pemrograman berorientasi objek, saat kami mendesain kelas, kami menggunakan variabel instan dan variabel kelas Show
Di Kelas, atribut dapat didefinisikan menjadi dua bagian
Setelah membaca artikel ini, Anda akan belajar
Daftar IsiApa itu Variabel Kelas di Python?Jika nilai variabel tidak bervariasi dari satu objek ke objek lainnya, jenis variabel seperti itu disebut variabel kelas atau variabel statis Variabel kelas dibagi oleh semua instance kelas. Tidak seperti variabel instan, nilai variabel kelas tidak bervariasi dari objek ke objek, Dalam Python, variabel Kelas dideklarasikan saat kelas sedang dibangun. Mereka tidak didefinisikan di dalam metode kelas apa pun karena ini hanya satu salinan dari variabel statis yang akan dibuat dan dibagikan di antara semua objek kelas Misalnya, di kelas Siswa, kita dapat memiliki variabel instan yang berbeda seperti nama dan nomor rol karena setiap nama siswa dan nomor rol berbeda. Namun, jika kita ingin memasukkan nama sekolah ke dalam kelas siswa, kita harus menggunakan variabel kelas daripada variabel instan karena nama sekolah sama untuk semua siswa. Jadi alih-alih menjaga salinan terpisah di setiap objek, kita dapat membuat variabel kelas yang akan menyimpan nama sekolah sehingga semua siswa (objek) dapat membagikannya Kita dapat menambahkan sejumlah variabel kelas dalam sebuah kelas Memahami Variabel KelasBuat Variabel KelasVariabel kelas dideklarasikan di dalam kelas, tetapi di luar metode instance atau metode Emma 10 ABC School Jessa 20 ABC School9 apa pun Dengan konvensi, biasanya ditempatkan tepat di bawah header kelas dan sebelum metode konstruktor dan metode lainnya Contoh
Keluaran Emma 10 ABC School Jessa 20 ABC School Pada contoh di atas, kita membuat variabel kelas 1 dan mengaksesnya menggunakan objek dan nama kelasCatatan. Seperti variabel biasa, variabel kelas dapat menyimpan data jenis apa pun. Kita bisa menggunakan daftar Python, Tuple Python, dan kamus Python sebagai variabel kelas Mengakses Variabel KelasKita dapat mengakses variabel statis baik dengan nama kelas atau referensi objek, tetapi disarankan untuk menggunakan nama kelas Di Python, kita bisa mengakses variabel kelas di tempat-tempat berikut
Contoh 1. Akses Variabel Kelas di konstruktor _Keluaran ABC School ABC School Contoh 2. Mengakses Variabel Kelas dalam metode Instance dan di luar kelas _Keluaran Inside instance method Emma 10 ABC School ABC School Outside class ABC School ABC School_ Dalam contoh ini, kami mengakses variabel kelas 1 menggunakan nama kelas dan kata kunci 2 di dalam metodeModifikasi Variabel KelasUmumnya, kami menetapkan nilai ke variabel kelas di dalam deklarasi kelas. Namun, kita dapat mengubah nilai variabel kelas baik di dalam kelas maupun di luar kelas Catatan. Kita harus mengubah nilai variabel kelas menggunakan nama kelas saja Contoh
Keluaran Before Emma 10 ABC School After Emma 10 XYZ School Catatan Praktik terbaik adalah menggunakan nama kelas untuk mengubah nilai variabel kelas. Karena jika kita mencoba mengubah nilai variabel kelas dengan menggunakan objek, variabel instan baru akan dibuat untuk objek tersebut, yang membayangi variabel kelas. Contoh
Keluaran Before Emma 10 ABC School Jessa 20 ABC School After Emma 10 PQR School Jessa 20 ABC School Variabel instan baru dibuat untuk objek s1, dan variabel ini membayangi variabel kelas. Jadi selalu gunakan nama kelas untuk memodifikasi variabel kelas Variabel Kelas vs variabel InstanceTabel berikut menunjukkan perbedaan antara variabel instan dan variabel kelas Dalam Python, properti dapat didefinisikan menjadi dua bagian
Baca selengkapnya. Variabel Instance di Python dengan Contoh Instance VariableClass VariableInstance variable tidak dibagi oleh objek. Setiap objek memiliki salinannya sendiri dari variabel instance attributeClass yang digunakan bersama oleh semua instanceVariabel instan dideklarasikan di dalam konstruktor i. e. , metode Emma 10 ABC School Jessa 20 ABC School_9. Variabel kelas dideklarasikan di dalam definisi kelas tetapi di luar metode instan dan konstruktor. Itu akan dibuat ketika sebuah instance dari kelas dibuat. Itu dibuat ketika program mulai dijalankan. Perubahan yang dilakukan pada variabel-variabel ini melalui satu objek tidak akan tercermin di objek lain. Perubahan yang dilakukan pada variabel kelas akan tercermin di semua objek. Variabel Kelas vs. Variabel Instance Contoh Mari kita lihat contoh untuk membuat variabel kelas dan variabel instan Emma 10 ABC School Jessa 20 ABC School0 Keluaran Emma 10 ABC School Jessa 20 ABC School_1 Variabel Kelas Dalam PewarisanSeperti yang Anda ketahui, hanya satu salinan variabel kelas yang akan dibuat dan dibagikan di antara semua objek kelas itu Saat kita menggunakan pewarisan, semua variabel dan metode kelas dasar tersedia untuk kelas anak. Dalam kasus seperti itu, Kami juga dapat mengubah nilai variabel kelas kelas induk di kelas anak Kita dapat menggunakan nama kelas induk atau kelas anak untuk mengubah nilai variabel kelas kelas induk di kelas anak Contoh Emma 10 ABC School Jessa 20 ABC School_2 Keluaran Emma 10 ABC School Jessa 20 ABC School_3 Bagaimana jika kelas anak dan kelas induk memiliki nama variabel kelas yang sama. Dalam hal ini, kelas anak tidak akan mewarisi variabel kelas dari kelas dasar. Jadi disarankan untuk membuat variabel kelas terpisah untuk kelas anak daripada mewarisi variabel kelas dasar Contoh Emma 10 ABC School Jessa 20 ABC School_4 Keluaran Emma 10 ABC School Jessa 20 ABC School5 Penggunaan Variabel Kelas yang SalahDalam Python, kita harus menggunakan variabel kelas dengan benar karena semua objek berbagi salinan yang sama. Jadi, jika salah satu objek mengubah nilai variabel kelas, maka semua objek mulai merujuk ke salinan baru Sebagai contoh, Contoh Emma 10 ABC School Jessa 20 ABC School_6 Keluaran Emma 10 ABC School Jessa 20 ABC School_7 Dalam contoh di atas, variabel instan _7 unik untuk setiap pemain. Variabel kelas 8 dan 9 dapat diakses dan dimodifikasi oleh objek apa punKarena kedua objek memodifikasi variabel kelas, variabel instan baru dibuat untuk objek tertentu dengan nama yang sama dengan variabel kelas, yang membayangi variabel kelas. Dalam kasus kami, untuk objek ABC School ABC School0 variabel instan baru ABC School ABC School1 dibuat, dan untuk objek ABC School ABC School2 variabel instan baru 9 dibuatJadi ketika Anda mencoba mengakses variabel kelas menggunakan objek ABC School ABC School0 atau ABC School ABC School2, itu tidak akan mengembalikan nilai variabel kelas yang sebenarnya Untuk menghindarinya, selalu ubah nilai variabel kelas menggunakan nama kelas sehingga semua objek mendapatkan nilai yang diperbarui. Seperti ini Bagaimana Anda mendapatkan nilai kelas dengan Python?Python getattr() function digunakan untuk mendapatkan nilai atribut objek dan jika tidak ada atribut objek yang ditemukan, nilai default dikembalikan. Pada dasarnya, mengembalikan nilai default adalah alasan utama mengapa Anda mungkin perlu menggunakan fungsi Python getattr().
Bagaimana Anda mengakses variabel di dalam kelas dengan Python?Variabel yang didefinisikan di dalam metode dapat diakses di dalam metode itu hanya dengan menggunakan nama variabel . Contoh – var_name. Jika Anda ingin menggunakan variabel tersebut di luar metode atau kelas, Anda harus mendeklarasikan variabel tersebut sebagai global.
Bagaimana Anda mendapatkan nilai dari kelas lain dengan Python?kita dapat mengakses/melewati argumen/variabel dari satu kelas ke kelas lain menggunakan referensi objek. . #Kelas1 Tes kelas def __init__(diri sendiri) diri sendiri. a = 10 diri sendiri. b = 20 diri sendiri. tambahkan = 0 def calc (diri) diri sendiri. tambah = diri sendiri. diri. b Bagaimana Anda mengakses variabel kelas?Mengakses Variabel Kelas
. Akses di dalam konstruktor dengan menggunakan parameter mandiri atau nama kelas. Akses dari luar kelas dengan menggunakan referensi objek atau nama kelas. either by class name or by object reference, but it is recommended to use the class name. Access inside the constructor by using either self parameter or class name. Access from outside of class by using either object reference or class name. |