Python OOP:Kelas, Objek, Warisan, dan Konstruktor dengan Contoh
OOP dengan Python
OOP dengan Python adalah pendekatan pemrograman yang berfokus pada penggunaan objek dan kelas yang sama dengan 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 dalam Python adalah pengelompokan logis dari data dan fungsi. Ini memberikan kebebasan untuk membuat struktur data yang berisi konten arbitrer dan karenanya mudah diakses.
Misalnya, untuk karyawan bank mana pun yang ingin mengambil detail pelanggan secara online, buka kelas pelanggan , di mana semua atributnya seperti detail transaksi, detail penarikan dan setoran, hutang terutang, dll. akan dicantumkan.
Dalam tutorial ini, kita akan belajar,
Cara mendefinisikan kelas Python
Cara kerja Warisan
Konstruktor Python
Cara mendefinisikan kelas Python
Untuk menentukan kelas, Anda perlu mempertimbangkan poin-poin berikut
Langkah 1) Dalam Python, kelas didefinisikan oleh “Kelas” kata kunci
class myClass():
Langkah 2) Di dalam kelas, Anda dapat mendefinisikan fungsi atau metode yang merupakan bagian dari kelas ini
Di sini kita telah mendefinisikan method1 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 dalam kelas diberi indentasi, seperti kode dalam fungsi, loop, pernyataan if, dll. Segala sesuatu yang tidak menjorok tidak ada di dalam kelas
CATATAN :Tentang menggunakan "diri" dengan Python
Argumen diri mengacu pada objek itu sendiri. Oleh karena itu penggunaan kata diri. Jadi di dalam metode ini, self akan merujuk ke instance spesifik dari objek ini yang sedang dioperasikan.
Self adalah nama yang lebih disukai oleh konvensi oleh Python untuk menunjukkan parameter pertama dari metode instance di Python. Ini adalah bagian dari sintaks Python untuk mengakses anggota objek
Langkah 4) Untuk membuat objek kelas
c = myClass()
Langkah 5) Untuk memanggil metode dalam kelas
c.method1()
c.method2(" Testing is fun")
Perhatikan bahwa ketika kita memanggil method1 atau method2, kita tidak perlu menyediakan self-keyword. Itu secara otomatis ditangani untuk kami oleh runtime Python.
Python runtime akan memberikan nilai “self” saat Anda memanggil metode instance pada instance, baik Anda sengaja atau tidak memberikannya
Anda hanya perlu peduli dengan argumen non-diri
Langkah 6) Ini 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()
Cara kerja Warisan
Warisan adalah fitur yang digunakan dalam pemrograman berorientasi objek; itu mengacu pada mendefinisikan kelas baru dengan sedikit atau tanpa modifikasi ke kelas yang ada. Kelas baru disebut kelas turunan dan dari yang diwarisinya disebut basis . Python mendukung pewarisan; itu juga mendukung beberapa warisan . Sebuah kelas dapat mewarisi atribut dan metode perilaku dari kelas lain yang disebut subkelas atau kelas pewaris.
Sintaks Warisan Python
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 dalam childClass, method1 tidak didefinisikan tetapi diturunkan dari induk myClass. Outputnya adalah “Guru99.”
Langkah 2) Uncomment Line #8 &10. Jalankan kodenya
Sekarang, metode 1 didefinisikan dalam childClass dan output “childClass Method1” ditampilkan dengan benar.
Langkah 3) Batalkan Komentar Baris #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 ) Batalkan Komentar Baris #19. Jalankan kodenya.
Metode 2 dari kelas anak dipanggil dan “childClass method2” dicetak seperti yang diharapkan.
Konstruktor Python
Konstruktor adalah fungsi kelas yang membuat instance objek ke nilai yang telah ditentukan.
Ini dimulai dengan garis bawah ganda (_). Ini __init__() metode
Dalam contoh di bawah ini kami 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
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 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()
Ringkasan:
"Kelas" adalah pengelompokan logis dari fungsi dan data. Kelas Python menyediakan semua fitur standar Pemrograman Berorientasi Objek.
Mekanisme pewarisan kelas
Kelas turunan yang menggantikan metode apa pun dari kelas dasarnya
Metode dapat memanggil metode kelas dasar dengan nama yang sama
Kelas Python ditentukan oleh kata kunci “kelas” sendiri
Di dalam kelas, Anda dapat mendefinisikan fungsi atau metode yang merupakan bagian dari kelas
Semua yang ada di dalam kelas memiliki indentasi, seperti kode dalam fungsi, loop, pernyataan if, dll.
Argumen self dalam Python mengacu pada objek itu sendiri. Self adalah nama yang lebih disukai oleh konvensi oleh Python untuk menunjukkan parameter pertama dari metode instance di Python
Python runtime akan memberikan nilai “self” secara otomatis saat Anda memanggil metode instance di instance, baik Anda sengaja atau tidak memberikannya
Dalam Python, sebuah kelas dapat mewarisi atribut dan metode perilaku dari kelas lain yang disebut subkelas atau kelas pewaris.