Variabel instance vs variabel class
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Python di Coddy. Pelajaran 13 dari 64.
Variabel instance bersifat unik untuk setiap object, sedangkan variabel class digunakan bersama oleh semua object dari class yang sama.
Berikut contoh class dengan kedua jenis variabel
class Student:
# Variabel class: digunakan bersama oleh semua instance
school = "Python High School"
def __init__(self, name, grade):
# Variabel instance: unik untuk setiap siswa
self.name = name
self.grade = gradeBuat object siswa:
alice = Student("Alice", "A")
bob = Student("Bob", "B")Akses variabel instance (unik untuk setiap object):
print(alice.name) # Alice
print(bob.name) # Bob
print(alice.grade) # A
print(bob.grade) # BAkses variabel class (digunakan bersama oleh semua object):
print(alice.school) # Python High School
print(bob.school) # Python High School
print(Student.school) # Python High SchoolSekarang ubah variabel class:
Student.school = "Python Academy"Periksa bagaimana perubahan tersebut memengaruhi semua instance:
print(alice.school) # Python Academy
print(bob.school) # Python AcademyOutput:
Alice
Bob
A
B
Python High School
Python High School
Python High School
Python Academy
Python AcademyKamu juga bisa membuat variabel instans setelah membuat object:
alice.age = 16 # Ini membuat variabel instans
print(alice.age) # 16
# print(bob.age) # Ini akan menyebabkan error karena bob tidak memiliki agePerbedaan utama: Variabel instance (dibuat dengan self.variable_name) berbeda untuk setiap object, sedangkan variabel class (didefinisikan langsung di dalam class) digunakan bersama oleh semua object. Mengubah variabel class memengaruhi semua instance.
Tantangan
MudahSelesaikan sistem perbankan.. Kamu akan mendefinisikan class BankAccount dalam satu file dan menggunakannya di file lain.
Kamu akan bekerja dengan:
bank_account.py: Definisikan classBankAccountdengan atribut dan methoddriver.py: Impor class, buat akun, dan tunjukkan variabel class
Ikuti komentar TODO di kedua file untuk mendapatkan petunjuk langkah demi langkah. Komentar tersebut akan membimbingmu membuat class dengan variabel dan method yang tepat, serta menunjukkan bagaimana variabel class memengaruhi semua instance.
Coba sendiri
# TODO: Impor class BankAccount dari bank_account.py
from bank_account import BankAccount
# TODO: Buat dua akun dengan detail persis berikut:
# - account1: pemilik "Alice Smith" dengan saldo $1000
# - account2: pemilik "Bob Jones" dengan saldo $2000
# TODO: Panggil display_info() untuk kedua akun
# TODO: Ubah variabel class interest_rate menjadi 0.03 (3%)
# Gunakan format ini: BankAccount.interest_rate = 0.03
# TODO: Cetak teks "After interest rate change:"
# TODO: Panggil display_info() lagi untuk kedua akun agar terlihat bahwa keduanya memiliki tingkat bunga baruPelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
File EksternalPengantar OOPclass vs objectParameter selfmethodAtributMethod Konstruktor (__init__)Rangkuman: Kalkulator Sederhana4Pewarisan
Pewarisan DasarFungsi super()Penimpaan MethodPewarisan BergandaUrutan Resolusi MethodRingkasan: Hierarki Karyawan5Polimorfisme
Meninjau Ulang Method OverridingDuck Typingclass dan method AbstrakDesain InterfaceRingkasan: Kalkulator Bentuk8Konsep OOP Lanjutan
Komposisi vs PewarisanMixinsMetode Statis dan Metode ClassDecorator ClassPengelola Konteks11Pola Desain Bagian 2
Pola PerintahPola AdapterPola DecoratorPola Template MethodPola StatePola Composite3Property class
Variabel instance vs variabel classDekorator propertyAtribut privatRangkuman: Pengelola Rekening Bank6Enkapsulasi
Anggota Public, Protected, PrivateModifier AksesPenyembunyian InformasiDecorator Property Tingkat LanjutUlasan: Sistem Catatan Siswa12Proyek: Manajemen Perpustakaan
Ikhtisar Proyekclass Buku dan PenggunaSistem PeminjamanFitur PencarianAntarmuka AdminPengujian dan IntegrasiLatihan sendiri: Compiler Python online