Pemrograman Berorientasi Objek Python: Panduan Lengkap – Codewithaden

Pemrograman berorientasi objek python, atau Oop Singkatnya adalah pendekatan pemrograman yang menyediakan cara untuk menyusun program sehingga sifat dan perilaku dibundel ke dalam objek individu.

Dalam artikel ini, Anda akan belajar tentang pemrograman berorientasi objek dalam Python dan konsep-konsep mendasar mereka dengan contoh.

Pemrograman berorientasi objek dalam Python adalah pendekatan untuk pemodelan konkret, hal-hal dunia nyata seperti mobil serta hubungan antara hal-hal seperti perusahaan dan karyawan, siswa dan guru, dll. Dalam posting ini, Anda akan mempelajari konsep-konsep berikut dalam paradigma OOP .

  1. Kelas di Python
  2. Objek dalam Python
  3. Metode contoh
  4. Atribut instance
  5. Init constructor
  6. Enkapsulasi
  7. Warisan

Pemrograman berorientasi objek Python

Objek adalah pusat dari paradigma pemrograman yang berorientasi objek, yang tidak hanya mewakili data aktual, seperti dalam pemrograman prosedural, tetapi dalam struktur keseluruhan program juga. Python adalah bahasa pemrograman multi-paradigma. Artinya, ini mendukung pendekatan pemrograman yang berbeda. Pendekatan terbaik untuk pemrograman, menurut saya, adalah OOP.

Kelas dalam Python

Kelas dalam Python digunakan untuk membuat struktur data baru yang ditentukan pengguna (UDF) yang berisi informasi sewenang-wenang tentang sesuatu. Penting untuk dicatat bahwa suatu kelas menyediakan struktur karena itu adalah cetak biru untuk bagaimana sesuatu harus didefinisikan, tetapi tidak menawarkan konten nyata itu sendiri. Untuk itu, kita perlu membuat objek kelas itu.

Kita dapat menganggap kelas sebagai entitas dengan label. Ini berisi semua detail tentang nama, ukuran, warna, dll. Berdasarkan detail ini, kita dapat mempelajari manusia. Di sini, manusia adalah sebuah objek.

Kelas seperti pabrik, dan contoh dibangun dari kelas, yang memiliki semua atribut dan sifat kelas. Kelas adalah pabrik contoh dan pabrik instance.

Tentukan kelas di Python

Mari kita tentukan kelas kosong.

# app.py

class FirstClass():
    pass 

Di sini, kami menggunakan kata kunci kelas untuk menentukan kelas pertama kelas kosong. Kami juga menggunakan kata kunci Python yang dicadangkan lulus di sini. Ini sangat sering digunakan sebagai pemegang tempat di mana kode pada akhirnya akan pergi. Ini memungkinkan kami untuk menjalankan kode di atas tanpa memberikan kesalahan.

Tentukan properti di kelas.

# app.py

class FirstClass():
    age = 25 

Di sini, kami telah mendefinisikan satu properti di kelas yang disebut usia.

Kami juga dapat mendefinisikan metode di dalam kelas.

# app.py

class FirstClass():
    def getColor(self):
        return 'red' 

Di sini, fungsi getColor () selalu satu argumen disebut diri sendiri, yang merupakan objek itu sendiri. Jadi ketika kita membuat objek dari kelas di atas, itu akan melewati objek sebagai argumen pertama.

Objek dalam Python

Objek adalah contoh yang dibuat dari kelas. Suatu contoh adalah objek tertentu yang dibuat dari kelas tertentu. Anda dapat membuat objek sebanyak yang Anda inginkan dari satu kelas. Ini memiliki metode dan properti kelas. Sedangkan kelas adalah cetak biru, an contoh adalah salinan kelas dengan nilai aktual.

Variabel, semua metode didefinisikan dalam kelas yang dapat diakses oleh objeknya. Mari kita buat instance dari Pertamaku() kelas.

# app.py

class FirstClass():
    def getColor(self):
        return 'red'

member = FirstClass()
print(member) 

Dalam kode di atas, kami telah membuat instance yang disebut a anggota, Dan kita dapat melihat informasi dari objek itu dengan mencetak di log.

Python

Kami dapat membuat sebanyak mungkin contoh.

# app.py

class FirstClass():
    def getColor(self):
        return 'red'

instance = FirstClass()
instanceSecond = FirstClass()
instanceThird = FirstClass()

print(instance)
print(instanceSecond)
print(instanceThird) 

Objects

Metode contoh

Sintaks dari metode instance agak berbeda dari bahasa pemrograman lain. Dalam bahasa pemrograman lain, jika metode yang didefinisikan dalam kelas yang memiliki parameter atau argumen maka, Anda harus memberikan argumen ketika dipanggil; Jika tidak, Anda akan mendapatkan kesalahan.

Dalam Python, ketika Anda mendefinisikan metode apa pun di kelas, Anda harus memberikan argumen yang disebut diri sendiri.

Ini secara default argumen untuk metode contoh apa pun. Apa artinya ketika Anda membuat objek dari kelas itu, objek itu sendiri akan lulus dalam metode itu.

Anda tidak perlu memberikan argumen apa pun pada saat memanggil fungsi itu, tetapi argumennya adalah suatu keharusan ketika Anda mendefinisikan fungsi itu di dalam kelas itu.

Mari kita ambil contoh itu.

# app.py

class FirstClass():
    def getColor(self):
        return 'red'

instance = FirstClass()

print(instance.getColor())
 

Dalam contoh di atas, kami telah mendefinisikan fungsi di dalam kelas yang disebut getColor () dan lulus satu argumen yang disebut diri sendiri.

Sekarang, langkah selanjutnya adalah membuat instance dari kelas itu dan memanggil metode itu tetapi tunggu; Kami belum memberikan argumen apa pun ketika kami telah memanggil fungsi itu.

Lihat, ini adalah perilaku metode dalam Python. Ketika Anda memanggil metode apa pun pada suatu contoh, argumen pertama itu sendiri adalah contoh dari suatu kelas. Sekarang, jalankan file di atas dan lihat output.

Instance

Sekarang, jika Anda tidak menulis argumen apa pun dalam metode sambil mendefinisikan metode apa pun di kelas, maka Anda akan mendapatkan kesalahan. Lihat contoh berikut.

# app.py

class FirstClass():
    def getColor():
        return 'red'

instance = FirstClass()

print(instance.getColor())
 

Kode editor Visual Studio saya juga menunjukkan kesalahan kepada saya.

Python

Setelah menjalankan file, Anda akan melihat kesalahan di konsol seperti di bawah ini.

Object

Atribut instance

Objek adalah unit data yang memiliki lebih dari satu atribut kelas atau jenis tertentu. Contoh dapat mengakses variabel yang ditentukan di kelas. Sebuah instance dapat mengatur dan mendapatkan nilai -nilai itu sendiri.

Data instan mengambil bentuk nilai atribut instance, disetel dan diakses melalui Object.attribute sintaksis.

Mari kita lihat contoh di bawah ini.

# app.py

import random

class MyFirst(object):
    def mefunc(self):
        self.anyValue = random.randint(1, 21)

insta = MyFirst()
insta.mefunc()
print(insta.anyValue)
 

Dalam contoh di atas, kami telah mendefinisikan atribut instance yang disebut Nilai apa pun.

Kemudian kami telah membuat instance kelas dan memanggil metode Mefunc, dan metode itu mengatur atribut instance ke nomor acak. Jadi variabel dilampirkan ke variabel instance dengan menelepon diri. Nilai tinggi, Dan kita dapat mengaksesnya Insta.Anyvalue.

Init constructor di Python

Konstruktor adalah jenis metode (fungsi) tertentu yang digunakan untuk menginisialisasi anggota contoh kelas. Konstruktor dapat terdiri dari dua jenis.

  1. Konstruktor yang diparameterisasi
  2. Konstruktor non-parameterisasi

Dalam Python, metode __ init __ mensimulasikan konstruktor kelas. Metode konstruktor dipanggil saat kelas dipakai. Kita dapat melewati sejumlah argumen pada saat membuat objek kelas, tergantung pada __ init __ definisi.

Mari kita lihat contoh berikut.

# app.py

class Employee:  
    def __init__(self,name):  
        self.name = name
    def display (self):  
        print('The name of employee is:',self.name)

first = Employee('Rushabh') 
second = Employee('Dhaval')

second.display() 

Dalam contoh di atas, ketika kita membuat sebuah instance, kita melewati argumen nama, dan konstruktor akan menetapkan argumen itu ke atribut instance.

Jadi, saat kami memanggil metode tampilan pada tertentu contoh, kami akan mendapatkan nama tertentu. Lihat hasilnya di bawah ini.

Init

Enkapsulasi dalam Python

Menggunakan OOP di Python, kami dapat membatasi akses ke metode dan variabel. Enkapsulasi mencegah Data dari modifikasi langsung.

Dalam enkapsulasi data, kami tidak dapat secara langsung memodifikasi atribut instance dengan menelepon Atribut pada objek . Itu akan membuat aplikasi kita rentan untuk peretas. Sebaliknya, kami hanya mengubah nilai atribut instance dengan memanggil metode tertentu. Bisa jadi setter atau ditentukan pengguna.

Mari kita lihat contoh berikut.

# app.py

class Computer:
    
    def __init__(self):
        self.__maxprice = 1000

    def sell(self):
        print('Laptop Selling Price: {}'.format(self.__maxprice))

    def setMaxPrice(self, price):
        self.__maxprice = price

laptop = Computer()
laptop.sell()

laptop.__maxprice = 1100
laptop.sell()

laptop.setMaxPrice(1100)
laptop.sell() 

Output di bawah ini.

Encapsulation

Dalam contoh di atas, kami telah membuat instance kelas komputer dan mencoba memodifikasi nilai variabel instance, tetapi masih memberikan nilai yang ditetapkan di dalam konstruktor.

Kami hanya dapat memodifikasi nilai atribut instance dengan memanggil setmaxprice () metode.

Warisan dalam Python

Warisan adalah cara membuat kelas baru untuk menggunakan data seperti atribut dan metode kelas yang ada tanpa memodifikasinya. Kelas yang baru dibentuk adalah kelas turunan atau kelas anak. Demikian pula, kelas yang ada adalah kelas dasar atau kelas induk. Lihat contoh berikut.

# app.py

class Bird:
    
    def __init__(self):
        print('Hugsy is ready')

    def whoisThis(self):
        print('This is hugsy')

    def swim(self):
        print('Hugsy swims faster')

class Penguin(Bird):

    def __init__(self):
        super().__init__()
        print('Penguin is ready')

    def whoisThis(self):
        print('Penguin')

    def run(self):
        print('Hugsy runs faster')

hugsy = Penguin()
hugsy.whoisThis()
hugsy.swim()
hugsy.run() 

Dalam contoh di atas, kelas dasar adalah Burung, dan kelas turunannya pinguin . Kelas turunan mewarisi fungsi kelas pangkalan atau induk. Kita bisa melihat ini dari berenang() metode.

Sekali lagi, kelas yang diturunkan atau anak memodifikasi perilaku kelas orang tua.

Juga, kita harus menggunakan super() fungsi sebelum __init __ () metode. Ini karena kami ingin menggunakan konten __init __ () Metode dari kelas induk ke dalam kelas anak.

Jadi, inilah cara kerja warisan dalam Python.

Akhirnya, contoh pemrograman berorientasi objek Python sudah berakhir.

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *