Warisan Python

 			 		 		 		 		 	

Python adalah bahasa pemrograman berorientasi objek. Dalam bahasa pemrograman berorientasi objek, kami membuat kelas dan melakukan fungsionalitas yang dimaksudkan. Warisan adalah fitur mendasar dari bahasa pemrograman berorientasi objek. Warisan dapat didefinisikan sebagai kemampuan satu kelas untuk mewarisi semua fungsi dan properti dari kelas lain. Warisan pada dasarnya memungkinkan seseorang untuk memperluas properti dari kelas yang ada. Warisan dimanfaatkan dengan dua konsep utama:

  1. Kelas induk atau kelas dasar
  2. Kelas anak atau kelas turunan

Kelas induk adalah kelas yang memungkinkan kelas lain untuk diwarisi. Itu juga disebut Kelas Dasar. Kelas Anak atau kelas turunan adalah kelas yang mewarisi semua properti dan fungsi dari kelas lain. Warisan mempromosikan beberapa manfaat, yaitu, itu adalah representasi dari fenomena warisan dunia nyata. Ini mendorong useran kembali kode. Jika suatu fungsi didefinisikan dalam satu kelas, kelas lain dapat mewarisi kelas ini dan menggunakan semua fungsi yang ada. Tidak perlu menulis kode yang sama berulang kali untuk melakukan tugas serupa. Warisan diterapkan pada berbagai tingkatan. Misalnya, jika kelas B diwarisi dari A dan kelas C diwarisi dari kelas B, maka kelas C memiliki semua properti dari kelas B dan juga Kelas A. Sintaks pewarisan adalah sebagai berikut:

Class ParentClass:
    Implementation details of the parent class
class ChildClass:
    Implementation details of the child class

Meskipun kelas anak memiliki akses ke semua fitur dan fungsi dari kelas induk, namun ia dapat menambahkan fitur dan fungsi barunya juga.

Artikel ini menjelaskan dan mencakup semua aspek pewarisan Python.

Implementasi warisan dengan Python

Warisan dapat diterapkan dalam berbagai situasi. Mari kita asumsikan Anda sedang membangun sistem perangkat lunak untuk universitas. Ini dapat terdiri dari beberapa pemangku kepentingan seperti siswa, guru, staf, dll. Jadi setiap orang memiliki nama, usia, email, dan properti umum lainnya. Tidak perlu mendeklarasikan semua properti di setiap kelas secara terpisah. Kita dapat membuat kelas orang, dan semua kelas pemangku kepentingan dapat mewarisi semua properti dan fungsi umum dari kelas orang. Dalam hal ini, tidak perlu menulis properti umum di setiap kelas lagi dan lagi. Demikian pula, kita dapat mempertimbangkan kelas hewan. Ada ratusan jenis hewan di dunia ini. Semua hewan makan, tidur, dan memiliki beberapa spesies juga. Konsep ini juga dapat diimplementasikan dengan menggunakan pewarisan.

Mari kita anggap hewan sebagai kelas super dan menerapkan warisan. Dalam contoh yang diberikan di bawah ini, kami telah membuat satu kelas hewan. Kelas hewan adalah kelas induk. Selain itu, kami telah membuat kelas Anjing, dan Kucing yang mewarisi properti, dan fungsi dari kelas hewan. Kata kunci pass digunakan di kelas anak, ketika kita tidak perlu mengimplementasikan fungsionalitas tambahan apa pun di kelas anak.

#creating parent class
class Animal:
    #initialization function
    #initilization the animal name,and specie type
    def __init__(self,name,specie_type):
        self.name=name
        self.specie_type=specie_type
    #a function to print the animal name
    def printname(self):
        print("name of animal is:",self.name)
        #a function to print the animal specie type
    def printspecie(self):
        print("type of specie is:",self.specie_type)
#creating the dog class as child class of animal class
class Dog(Animal):
    # no extension or modification
    pass
#now dog class have access to all the functions and properties of animal class
#creating the dog class object
dogObj= Dog("Dog","carnivore")
dogObj.printname()
dogObj.printspecie()
#creating the cat class as child class of animal class
class Cat(Animal):
   #the initilization function of cat class
   def __init__(self):
       #calling and using the animal class initilization function
       Animal.__init__(self,"cat","carnivorous mammal")
#now cat class have access to all the functions and properties of animal class
#creating the cat class object
catObj= Cat()
catObj.printname()
catObj.printspecie()

Keluaran

Panggilan “Animal.__init__(self,”cat”,”karnivora mamalia”)” adalah fungsi inisialisasi dari kelas Animal.

Fungsi super()

Python menyediakan fungsi super() bawaan untuk mewarisi semua properti dan fungsi kelas induk. Saat kita menggunakan fungsi super(), maka tidak perlu menyebutkan nama kelas induk seperti yang kita lakukan di “Animal.__init__(self,”cat”,”karnivora mamalia”)” tetapi fungsi super() secara otomatis menunjuk ke kelas induk. Mari kita gunakan fungsi super.

#creating parent class
class Animal:
    #initialization function
    #initilization the animal name,and specie type
    def __init__(self,name,specie_type):
        self.name=name
        self.specie_type=specie_type
    #a function to print the animal name
    def printname(self):
        print("name of animal is:",self.name)
        #a function to print the animal specie type
    def printspecie(self):
        print("type of specie is:",self.specie_type)
#creating the dog class as child class of animal class
class Dog(Animal):
    #using super() function
    def __init__(self, name, specie_type):
        super().__init__(name, specie_type)
#now dog class have access to all the functions and properties of animal class
#creating the dog class object
dogObj= Dog("Dog","carnivore")
dogObj.printname()
dogObj.printspecie()
#creating the cat class as child class of animal class
class Cat(Animal):
   #the initilization function of cat class
    #using super() function
    def __init__(self, name, specie_type):
        super().__init__(name, specie_type)
#now cat class have access to all the functions and properties of animal class
#creating the cat class object
catObj= Cat("cat","carnivorous mammal")
catObj.printname()
catObj.printspecie()

Keluaran

Sekarang mari tambahkan beberapa fungsi lagi di kelas anak. Setiap kelas mewarisi properti dan fungsi umum dari kelas induk, tetapi kelas anak dapat memiliki beberapa kelas tambahan yang ditujukan untuk kelas khusus ini. Sekarang mari kita buat beberapa properti dan fungsi tambahan di kelas anjing, dan kucing.

#creating parent class
class Animal:
    #initialization function
    #initilization the animal name,and specie type
    def __init__(self,name,specie_type):
        self.name=name
        self.specie_type=specie_type
    #a function to print the animal name
    def printname(self):
        print("name of animal is:",self.name)
        #a function to print the animal specie type
    def printspecie(self):
        print("type of specie is:",self.specie_type)
#creating the dog class as child class of animal class
class Dog(Animal):
    #using super() function
    #pet name is newly added functionality
    def __init__(self, name, specie_type,pet_name):
        super().__init__(name, specie_type)
        self.pet_name=pet_name
    #creating a new function
    def printpetname(self):
        print("pet name is:",self.pet_name)
#now dog class have access to all the functions and properties of animal class
#creating the dog class object
dogObj= Dog("Dog","carnivore","Max")
dogObj.printname()
dogObj.printspecie()
dogObj.printpetname()
#creating the cat class as child class of animal class
class Cat(Animal):
   #the initilization function of cat class
    #using super() function
    #adding food and pet_name properties
    def __init__(self, name, specie_type,food, pet_name):
        super().__init__(name, specie_type)
        self.food=food
        self.pet_name=pet_name
    #new function to access food info
    def printfood(self):
        print("cat likes:", self.food)
    #new function for pet name
    def printpetname(self):
        print("pet name is:",self.pet_name)
#now cat class have access to all the functions and properties of animal class
#creating the cat class object
catObj= Cat("cat","carnivorous mammal","Biscuit","Daisy")
catObj.printname()
catObj.printspecie()

Keluaran

Fungsi mengesampingkan

Fungsi overriding adalah konsep penting dalam pewarisan. Suatu fungsi disebut fungsi yang ditimpa jika nama fungsinya sama di kelas induk dan anak tetapi implementasi atau fungsionalitasnya berbeda di setiap
kelas. Mari kita lihat contoh override function di kelas Animal. Dalam contoh yang diberikan di bawah ini, kami memiliki fungsi makan di kelas hewan dan di kelas turunannya (Anjing, dan Kucing) juga. Nama fungsi sama di kelas tetapi implementasinya berbeda.

#creating parent class
class Animal:
   def eat(self):
       print("All the animals eat food")
#creating object
animalObj = Animal()
#calling function
animalObj.eat()
#creating dog class
class Dog(Animal):
    def eat(self):
        print("dog eats meat")
#creating object
dogObj=Dog()
#calling function
dogObj.eat()
class Cat(Animal):
    def eat(self):
        print("cat eat biscuits and some special food")
#creating object
catObj = Cat()
#calling function
catObj.eat()

Keluaran

Kesimpulan

Warisan adalah salah satu konsep dasar bahasa pemrograman berorientasi objek. Dengan menggunakan warisan, kami membuat kelas anak yang mewarisi semua fungsi dan properti dari kelas induk. Warisan mempromosikan useran kembali kode. Artikel ini menjelaskan pewarisan dalam Python dengan contoh.

Related Posts