Python OOP: Kelas, Objek, Pewarisan, dan Konstruktor

⚡ Ringkasan Cerdas

Pemrograman berorientasi objek dalam Python Mengorganisir kode berdasarkan kelas dan objek, mengelompokkan data dan perilaku yang terkait. Pendekatan ini menunjukkan cara mendefinisikan kelas, membuat objek, menerapkan pewarisan, dan menginisialisasi atribut dengan konstruktor.

  • 🔘 Rancangan kelas: Sebuah kelas mengelompokkan data dan metode yang terkait ke dalam cetak biru yang dapat digunakan kembali untuk membuat objek.
  • ☑️ Objek: Objek adalah contoh dari suatu kelas, yang masing-masing menyimpan nilai atributnya sendiri.
  • Mendefinisikan kelas: Kata kunci class, metode yang diberi indentasi, dan parameter self mendefinisikan sebuah Python kelas.
  • 🧬 Warisan: Kelas turunan mewarisi atribut dan metode dari kelas dasar dan mendukung pewarisan berganda.
  • Konstruktor: Metode __init__() menginisialisasi setiap objek baru dengan nilai-nilai yang telah ditentukan sebelumnya.
  • 🤖 Relevansi AI: Pustaka pembelajaran mesin seperti PyTorlapisan dan jaringan model ch sebagai Python kelas.

Python OOP: Kelas, Objek, Pewarisan, dan Konstruktor

OOP masuk Python

OOP masuk Python adalah pendekatan pemrograman yang berfokus pada penggunaan objek dan kelas sama seperti bahasa pemrograman umum lainnya. Objeknya bisa berupa entitas dunia nyata apa pun. Python memungkinkan pengembang untuk mengembangkan aplikasi menggunakan pendekatan OOP dengan fokus utama pada penggunaan kembali kode. Sangat mudah untuk membuat kelas dan objek Python.

Apa itu Kelas?

Kelas di Python adalah kelompok logisping tentang data dan fungsi. Ini memberikan kebebasan untuk membuat struktur data yang berisi konten apa pun dan karenanya mudah diakses.

Misalnya, untuk setiap karyawan bank yang ingin mengambil rincian pelanggan secara online akan pergi ke kelas pelanggan, di mana semua atributnya seperti detail transaksi, detail penarikan dan penyetoran, hutang yang belum dibayar, dll. akan tercantum.

Bagaimana mendefinisikan Python kelas-kelas

Untuk mendefinisikan kelas Anda perlu mempertimbangkan poin-poin berikut

Langkah 1) In Python, kelas ditentukan oleh "Kelas" kata kunci

class myClass():

Langkah 2) Di dalam kelas, Anda dapat mendefinisikan fungsi atau metode yang merupakan bagian dari kelas ini

def method1 (self):
   print "Guru99"
def method2 (self,someString): 
   print "Software Testing:" + someString
  • Di sini kita telah mendefinisikan metode1 yang mencetak “Guru99. "
  • Metode lain yang telah kami definisikan adalah metode2 yang mencetak “Pengujian Perangkat Lunak”+ SomeString. SomeString adalah variabel yang disediakan oleh metode pemanggilan

Langkah 3) Segala sesuatu di kelas diindentasi, sama seperti kode di fungsi, loop, pernyataan if, dll. Apa pun yang tidak diindentasi tidak ada di kelas

Menetapkan Python kelas-kelas

CATATAN: Tentang penggunaan “diri” di Python

  • Argumen `self` merujuk pada objek itu sendiri. Oleh karena itu, digunakan kata `self`. Jadi di dalam metode ini, `self` akan merujuk pada instance spesifik dari objek ini yang sedang dioperasikan.
  • Self adalah nama yang disukai berdasarkan konvensi Pythons untuk menunjukkan parameter pertama metode instan di Python. Ini adalah bagian dari Python sintaks untuk mengakses anggota objek

Langkah 4) Untuk membuat objek kelas

c = myClass()

Langkah 5) Untuk memanggil metode di kelas

c.method1()
    c.method2(" Testing is fun")
  • Perhatikan bahwa ketika kita memanggil method1 atau method2, kita tidak perlu memasukkan kata kunci self. Itu secara otomatis ditangani untuk kita oleh Python waktu berjalan.
  • Python runtime akan meneruskan nilai "self" ketika Anda memanggil metode instance, baik Anda menyediakannya dengan sengaja atau tidak
  • Anda hanya perlu peduli dengan argumen non-diri

Langkah 6) Berikut kode lengkapnya

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  def method2(self,someString):    
      print("Software Testing:" + someString)
  
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()

Bagaimana Warisan bekerja

Warisan adalah fitur yang digunakan dalam pemrograman berorientasi objek; ini mengacu pada pendefinisian kelas baru dengan sedikit atau tanpa modifikasi pada kelas yang sudah ada. Kelas baru dipanggil kelas turunan dan dari yang diwarisinya disebut mendasarkan. Python mendukung warisan; itu juga mendukung banyak warisan. Suatu kelas dapat mewarisi atribut dan metode perilaku dari kelas lain yang disebut subkelas atau kelas pewaris.

Bagaimana cara kerja pewarisan dalam Python

Python Sintaks Warisan

class DerivedClass(BaseClass):
    body_of_derived_class

Langkah 1) Jalankan kode berikut

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print ("childClass Method1")
        
  def method2(self):
        print("childClass method2")     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

Perhatikan bahwa di childClass, method1 tidak didefinisikan tetapi diturunkan dari kelas induk myClass. Outputnya adalah “Guru99. "

Langkah 2) Batalkan komentar pada Baris #8 & 10. Jalankan kodenya

Sekarang, metode 1 didefinisikan di childClass dan output “childClass Method1” ditampilkan dengan benar.

Langkah 3) Batalkan Komentar pada Baris #9. Jalankan kodenya

Anda dapat memanggil metode kelas induk menggunakan sintaksis

ParentClassName.MethodName(self)

Dalam kasus kita, kita memanggil myClass.method1(self) dan GuruAngka 99 tercetak sesuai harapan.

Langkah 4) Batalkan Komentar pada Baris #19. Jalankan kodenya.

Metode 2 dari kelas anak dipanggil dan “metode Kelas anak2” dicetak seperti yang diharapkan.

Python Konstruktor

Konstruktor adalah fungsi kelas yang membuat instance objek ke nilai yang telah ditentukan sebelumnya.

Dimulai dengan garis bawah ganda (_). Ini adalah metode __init__().

Dalam contoh di bawah ini kita mengambil nama pengguna menggunakan konstruktor.

class User:
    name = ""

    def __init__(self, name):
        self.name = name

    def sayHello(self):
        print("Welcome to Guru99, " + self.name)

User1 = User("Alex")
User1.sayHello()

Outputnya adalah:

Selamat Datang di Guru99, Alex

Python 2 Contoh

Kode di atas adalah Python 3 contoh, Jika Anda ingin menjalankannya Python 2 harap pertimbangkan kode berikut.

# How to define Python classes
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
  def method2(self,someString):    
      print "Software Testing:" + someString
      
   
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()


#How Inheritance works
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
      
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print "childClass Method1" 
        
  def method2(self):
        print "childClass method2"     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

Pelajari tutorial kami berikutnya tentang Polimorfisme di Python

Pertanyaan Umum Demo Slot

Kelas adalah cetak biru yang mendefinisikan atribut dan metode, sedangkan objek adalah contoh konkret yang dibangun dari kelas tersebut. Satu kelas dapat membuat banyak objek, masing-masing menyimpanping datanya sendiri.

Python Pemrograman berorientasi objek bertumpu pada empat pilar: enkapsulasi (menggabungkan data dengan metode), dan abstraksi.traction (menyembunyikan kompleksitas), pewarisan (menggunakan kembali kelas dasar), dan polimorfisme (satu antarmuka, banyak bentuk).

Variabel kelas dideklarasikan di dalam badan kelas dan digunakan bersama oleh setiap instance. Variabel instance diberi nilai di dalam __init__ menggunakan self dan hanya dimiliki oleh satu objek saja.

Fungsi super() mengembalikan proxy ke kelas induk, memungkinkan kelas anak untuk memanggil metode atau konstruktor induk tanpa menyebutkannya secara langsung. Fungsi ini sering ditulis sebagai super().__init__() untuk menginisialisasi atribut yang diwariskan.

Enkapsulasi membatasi akses langsung ke data internal suatu objek. Dalam Python, beri awalan atribut dengan garis bawah tunggal (_name) untuk atribut yang dilindungi, atau garis bawah ganda (__name) untuk pengubahan nama.

Iya. SEBUAH Python Kelas dapat mewarisi dari beberapa induk, seperti kelas Child(A, B). Python Menyelesaikan nama metode duplikat menggunakan Urutan Resolusi Metode (MRO), yang diperiksa dengan metode mro().

Pemrograman berorientasi objek merupakan inti dari kerangka kerja AI dan pembelajaran mesin. Pustaka seperti PyTorch dan scikit-learn memodelkan jaringan, lapisan, dan estimator sebagai kelas, sehingga Anda dapat membuat subkelas dan menggunakannya kembali untuk membangun model.

Ya. GitHub Copilot dan asisten AI menghasilkan Python Kelas, konstruktor, dan pewarisan dari perintah singkat. Mereka mengotomatiskan kode berulang, meskipun Anda harus meninjau output untuk memastikan logika yang benar.

Ringkaslah postingan ini dengan: