Python OOP: Kelas, Objek, Warisan dan Konstruktor dengan Contoh
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 pengelompokan logis data dan fungsi. Ini memberikan kebebasan untuk membuat struktur data yang berisi konten sewenang-wenang 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 rincian transaksi, rincian penarikan dan penyetoran, utang yang belum dibayar, dsb. 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
CATATAN: Tentang penggunaan “diri” di Python
- Argumen self mengacu pada objek itu sendiri. Oleh karena itu, digunakan kata self. Jadi, di dalam metode ini, self akan merujuk pada contoh spesifik objek 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 metode1 atau metode2, kita tidak perlu menyediakan kata kunci mandiri. Itu secara otomatis ditangani untuk kami 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.
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 kelas anak, metode1 tidak ditentukan 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 kami, kami menyebutnya, myClass.method1(self) dan Guru99 dicetak seperti yang diharapkan
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
Ringkasan
"Kelas" adalah pengelompokan fungsi dan data secara logis. Python kelas menyediakan semua fitur standar Pemrograman Berorientasi Objek.
- Mekanisme pewarisan kelas
- Kelas turunan yang mengesampingkan metode apa pun dari kelas dasarnya
- Suatu metode dapat memanggil metode kelas dasar dengan nama yang sama
- Python Kelas ditentukan berdasarkan kata kunci "kelas" Diri
- Di dalam kelas, Anda dapat mendefinisikan fungsi atau metode yang merupakan bagian dari kelas
- Segala sesuatu di kelas diindentasi, sama seperti kode dalam fungsi, loop, pernyataan if, dll.
- Argumen diri dalam Python mengacu pada objek itu sendiri. Self adalah nama yang disukai berdasarkan konvensi Pythons untuk menunjukkan parameter pertama metode instan di Python
-
Python runtime akan memberikan nilai "self" secara otomatis saat Anda memanggil metode instance, baik Anda menyediakannya dengan sengaja atau tidak
- In Python, suatu kelas dapat mewarisi atribut dan metode perilaku dari kelas lain yang disebut subkelas atau kelas pewaris.


