Python OOPs: Kelas, Objek, Warisan dan Pembuat dengan Contoh

Daftar Isi:

Anonim

OOP dengan Python

OOP dengan Python adalah pendekatan pemrograman yang berfokus pada penggunaan objek dan kelas yang sama seperti bahasa pemrograman umum lainnya. Objek dapat 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 dengan Python.

Apa itu Kelas?

Kelas dengan Python adalah pengelompokan data dan fungsi yang logis. Ini memberi kebebasan untuk membuat struktur data yang berisi konten sewenang-wenang dan karenanya mudah diakses.

Misalnya, untuk setiap karyawan bank yang ingin mengambil detail pelanggan secara online akan masuk ke kelas pelanggan , di mana semua atributnya seperti detail transaksi, detail penarikan dan setoran, hutang yang belum dibayar, dll. Akan dicantumkan.

Dalam tutorial ini, kita akan belajar,

  • Bagaimana mendefinisikan kelas Python
  • Bagaimana Warisan bekerja
  • Konstruktor Python

Bagaimana mendefinisikan kelas Python

Untuk mendefinisikan kelas, Anda perlu mempertimbangkan poin-poin berikut

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

class myClass():

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

def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
  • Di sini kami 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) Semua yang ada di kelas diindentasi, seperti kode di fungsi, loop, pernyataan if, dll. Apa pun yang tidak diindentasi tidak ada di kelas

CATATAN : Tentang menggunakan "self" dengan Python

  • Argumen diri mengacu pada objek itu sendiri. Karenanya penggunaan kata diri. Jadi di dalam metode ini, self akan merujuk ke instance spesifik dari objek yang sedang dioperasikan ini.
  • Self adalah nama yang disukai oleh konvensi Pythons untuk menunjukkan parameter pertama dari metode instance dengan Python. Ini adalah bagian dari sintaks Python 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 metode1 atau metode2, kita tidak perlu menyediakan kata kunci sendiri. Itu secara otomatis ditangani untuk kami oleh runtime Python.
  • Waktu proses Python akan meneruskan nilai "sendiri" saat Anda memanggil metode instance di dalam instance, baik Anda sengaja atau tidak menyediakannya
  • Anda hanya perlu peduli dengan argumen non-diri

Langkah 6) Ini kode lengkapnya

# File contoh untuk bekerja dengan kelaskelas myClass ():def method1 (self):cetak ("Guru99")def method2 (self, someString):print ("Pengujian Perangkat Lunak: + someString)def main ():# latih metode kelasc = myClass ()c. metode1 ()c.method2 ("Pengujian itu menyenangkan")jika __name __ == "__main__":utama()

Bagaimana Warisan bekerja

Pewarisan 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 disebut kelas turunan dan dari kelas yang diwarisi disebut basis . Python mendukung pewarisan; itu juga mendukung banyak warisan . Sebuah kelas dapat mewarisi atribut dan metode perilaku dari kelas lain yang disebut subclass atau kelas heir.

Sintaks Warisan Python

class DerivedClass(BaseClass):body_of_derived_class

Langkah 1) Jalankan kode berikut

# File contoh untuk bekerja dengan kelaskelas myClass ():def method1 (self):cetak ("Guru99")kelas childClass (myClass):#def method1 (self):# myClass.method1 (self);#print ("childClass Method1")def method2 (self):print ("childClass method2")def main ():# latih metode kelasc2 = childClass ()c2.method1 ()# c2.method2 ()jika __name __ == "__main__":utama()

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

Langkah 2) Uncomment Line # 8 & 10. Jalankan kode tersebut

Sekarang, metode 1 didefinisikan dalam childClass dan keluaran "childClass Method1" ditampilkan dengan benar.

Langkah 3) Baris Uncomment # 9. Jalankan kodenya

Anda dapat memanggil metode kelas induk menggunakan sintaks

ParentClassName.MethodName(self)

Dalam kasus kami, kami memanggil, myClass.method1 (self) dan Guru99 dicetak seperti yang diharapkan

Langkah 4 ) Baris Uncomment # 19. Jalankan kodenya.

Metode 2 dari kelas anak dipanggil dan "childClass method2" dicetak seperti yang diharapkan.

Konstruktor Python

Konstruktor adalah fungsi kelas yang memberi contoh objek ke nilai yang telah ditentukan.

Ini dimulai dengan garis bawah ganda (_). Ini metode __init __ ()

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

class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()

Outputnya adalah:

Selamat datang di Guru99, Alex

Contoh Python 2

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

# How to define Python classes# Example file for working with classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass 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 methodsc2 = childClass()c2.method1()#c2.method2()if __name__== "__main__":main()

Ringkasan:

"Kelas" adalah pengelompokan logis dari fungsi dan data. Kelas Python menyediakan semua fitur standar Pemrograman Berorientasi Objek.

  • Mekanisme pewarisan kelas
  • Kelas turunan yang mengganti metode apa pun dari kelas dasarnya
  • Suatu metode dapat memanggil metode kelas dasar dengan nama yang sama
  • Kelas Python ditentukan oleh kata kunci "kelas" itu sendiri
  • Di dalam kelas, Anda dapat menentukan fungsi atau metode yang merupakan bagian dari kelas
  • Segala sesuatu di kelas diindentasi, seperti kode dalam fungsi, loop, pernyataan if, dll.
  • Argumen diri dalam Python mengacu pada objek itu sendiri. Self adalah nama yang disukai oleh konvensi Pythons untuk menunjukkan parameter pertama dari metode instance dengan Python
  • Waktu proses Python akan meneruskan nilai "sendiri" secara otomatis saat Anda memanggil metode instance di dalam instance, baik Anda sengaja atau tidak menyediakannya
  • Dalam Python, sebuah kelas dapat mewarisi atribut dan metode perilaku dari kelas lain yang disebut subclass atau kelas heir.