Konstruktor Python

Konstruktor Python

Perkenalan

Sekarang, Anda harus terbiasa dengan cara kelas dasar bekerja di Python. Jika kelas adalah apa yang Anda lihat, mereka akan cukup kaku dan tidak terlalu berguna.

Untungnya, kelas lebih dari sekedar itu. Mereka dirancang agar jauh lebih mudah beradaptasi dan dapat mengambil informasi untuk membentuk penampilan mereka pada awalnya. Tidak setiap mobil mulai persis sama, dan juga tidak ada kelas. Lagi pula, betapa buruknya jika setiap mobil adalah oranye 71 'Ford Pinto? Itu bukan situasi yang baik.

Menulis kelas

Mulailah dengan menyiapkan kelas seperti yang ada di panduan terakhir. Kelas ini akan berkembang selama panduan ini. Ini akan beralih dari menjadi situasi yang kaku, seperti fotokopi, ke templat yang dapat menghasilkan beberapa objek unik dalam garis besar kelas.

Tulis baris pertama kelas, mendefinisikannya sebagai kelas dan menamainya. Panduan ini akan tetap dengan analogi mobil dari sebelumnya. Jangan lupa lulus kelas Anda obyek Sehingga memperluas basis obyek kelas.

Mobil kelas (objek): 

Di bawah itu, indentasi dan buat variabel Anda. Biasanya, variabel kelas dikelompokkan di dekat bagian atas kelas dan metode disimpan di bawah. Itu tidak sepenuhnya wajib, tetapi membantu menjaga kode tetap rapi. Hanya membuat variabel untuk membuat, model, tahun, jarak tempuh, dan warna. Tidak ada gunanya membangun kelas yang sangat rinci.

Make = "Ford" Model = "Pinto" Year = "1971" Mileage = "253812" Color = "Orange" 

Pada titik ini, Anda dapat menguji variabel Anda untuk memastikan bahwa kelas Anda berfungsi dengan baik. Buat dan keberatan, dan cobalah untuk mencetak model mobil Anda. Kemudian, peroleh kembali variabel model, dan cetak lagi.

cetak mycar = mobil () ("mobil saya adalah % s" % mycar.model) mycar.model = cetak "mustang" ("mobil saya adalah % s" % mycar.model) 

Itu upgrade, tapi mobil Anda masih tidak bisa melakukan apapun. Saatnya menambahkan metode. Buat metode baru di kelas Anda yang disebut maju kedepan yang menerima variabel yang disebut, “Kecepatan."Lalu, cetak model mobil Anda dan seberapa cepat itu. Jangan lupa untuk memasukkan diri sendiri.

Def move_forward (self, speed): cetak (" %s Anda bergerak maju di %s" %(self.model, kecepatan)) 

Uji itu dengan kelas Anda.

mobil saya.move_forward ("25mph") 

Semuanya harus berjalan dengan baik, dan mobil Anda harus berjalan.

Membuat konstruktor

Mengubah variabel setelah objek dibuat kikuk dan tidak efisien. Anda tidak hanya membuang waktu, tetapi juga menggembalakan kode Anda. Ini terutama benar jika Anda membuat beberapa contoh dari kelas yang sama dan mengubah masing -masing.

Ada konsep dalam pemrograman berorientasi objek yang disebut a konstruktor. Konstruktor adalah metode khusus yang memungkinkan suatu objek untuk mengambil argumen saat dibuat dan secara otomatis melakukan tindakan. Mereka biasanya digunakan untuk menetapkan variabel pada saat objek dipakai.

Dalam kasus Python, Anda membuat konstruktor seperti Anda akan metode lain, menggunakan dev, Tetapi setiap konstruktor memiliki nama yang sama, __init__. Anda bisa memikirkannya __init__ sebagai kependekan dari inisialisasi karena dijalankan saat objek diinisialisasi.

Buat konstruktor untuk mobil Anda yang mengambil semua variabel sebagai parameter dan menugaskannya ke variabel instance dengan diri sendiri. Variabel instan hanyalah variabel yang ada dalam contoh tertentu dari suatu objek.

Def __init __ (self, make, model, year, Mileage, Color): Self.buat = buat diri.Model = Model Self.tahun = tahun diri.jarak tempuh = jarak tempuh diri.warna = warna 

Pastikan untuk menghapus deklarasi variabel lama. Anda tidak membutuhkannya lagi.

Menggunakan konstruktor

Jalankan kode Anda lagi, dan lihat apa yang terjadi. Jika Anda mendapat kesalahan, Anda melakukannya dengan benar. Sekarang, setiap kali Anda membuat contoh Mobil(), Anda perlu memberikan argumen yang cukup untuk mencocokkan parameter yang Anda tentukan.

Kembali dan memodifikasi instantiasi mobil saya untuk meneruskannya argumen yang diperlukan.

mycar = mobil ('dodge', 'challenger', '2017', 1500, 'hitam')

Jalankan kode Anda lagi. Semuanya harus berhasil, dan Anda harus memiliki mobil yang berbeda.

Seperti yang sudah Anda lihat, ini bukan sistem yang sempurna. Bagaimana jika Anda masih menginginkan template default, jadi Anda tidak harus lulus dalam setiap argumen? Anda benar -benar dapat melakukannya juga. Anda hanya perlu mengatur setiap parameter dalam konstruktor Anda sama dengan nilai yang Anda inginkan menjadi defaultnya.

def __init __ (self, make = 'ford', model = 'pinto', tahun = '1971', mileage = '253812', color = 'oranye'): self.buat = buat diri.Model = Model Self.tahun = tahun diri.jarak tempuh = jarak tempuh diri.warna = warna 

Jika Anda membuat instance baru Mobil() Dan jangan lulus apa pun, itu akan membuat Ford Pinto lama Anda yang baik. Coba membandingkannya berdampingan untuk melihat perbedaannya.

mycar = car () mynewcar = car ('dodge', 'challenger', '2017', 1500, 'hitam') mycar.move_forward ('25mph') mynewcar.move_forward ('85mph') 

Menutup pikiran

Itu akan menyedot jika setiap mobil adalah 71 'Ford Pinto. Itu hal yang sama untuk objek. Jika Anda harus membuat kelas baru sebagai templat untuk setiap variasi suatu objek, benar -benar tidak akan ada nilai apa pun dalam pemrograman berorientasi objek. Konstruktor memungkinkan kelas menjadi lebih cair dan mudah beradaptasi. Anda dapat membuat sebanyak mungkin instance baru dari suatu objek yang Anda butuhkan dari kelas yang sama tanpa harus kembali dan mengubah apa pun.

Berlatih membuat kelas baru dan menambahkan konstruktor, lalu menggunakan kelas itu sedikit di skrip Anda.

Latihan

  1. Buat kelas baru yang disebut "komputer."
  2. Buat konstruktor untuk "komputer" yang membutuhkan empat variabel.
  3. Cetak salah satu variabel Anda. Pesan kembali nilainya, dan cetak lagi.
  4. Buat metode yang menggunakan setidaknya dua variabel Anda.
  5. Menerapkan konstruktor untuk "komputer" yang menerima semua variabel Anda.
  6. Buat instance baru "komputer" dan berikan argumen yang benar.
  7. Jalankan metode Anda pada instance baru “komputer."
  8. Tambahkan nilai default ke konstruktor "komputer".
  9. Buat instance kosong “komputer."
  10. Jalankan metode Anda pada instance kosong baru.

Tutorial Linux Terkait:

  • Pengantar Otomatisasi Linux, Alat dan Teknik
  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
  • Menguasai loop skrip bash
  • Sistem Linux Hung? Cara melarikan diri ke baris perintah dan…
  • Loop bersarang dalam skrip bash
  • Ubuntu 20.04 Panduan
  • Tutorial debugging GDB untuk pemula
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…