Selamat datang kembali.
Di video sebelumnya, saya menunjukkan cara memanggil metode dari subkelas kelas induk.
Jadi dalam kasus kami, kami melakukan serangan pengguna.
Untuk menjalankan metode serangan dan pengguna, sekarang saya telah menghapus metode serangan dari sekarang karena saya ingin mencoba sesuatu
yang berbeda.
Saya ingin membuat fungsi init di sini dan fungsi init akan mengambil sendiri.
Dan kemudian katakanlah pengguna akan menerima, katakanlah, email.
Karena semua pengguna game kami perlu memiliki email.
Dan di sini, kami hanya akan mengatakan email titik diri.
Kami akan menghubungi email.
Bagus dan sederhana.
Sekarang di sini.
Jika saya menjalankan kode ini dan mari kita hapus data pengguna tac untuk saat ini, jadi kami memiliki wizard yang sama,
kami baru saja menambahkan ini atau maaf, init.
Dan kami memiliki wizard kami, jadi jika saya menjalankan Wizard di sini dan katakanlah kami ingin menjalankan Wizard satu titik email.
Jika saya klik, jalankan.
Hmm, saya mendapatkan Wizard Object tidak memiliki atribut email.
Hmm, tapi saya pikir pengguna akan dipanggil saat kita membuat wizard, kan, saat kita membuat instance Wizard.
Nah, masalahnya adalah, meskipun kita mungkin mewarisi, katakanlah, misalnya, jika saya melakukan itu, kita
mungkin mewarisi.
Masuk.
Dari pengguna, dan jika saya mengklik run, kita melihat bahwa kita mewarisi bahwa wizard sudah memiliki fungsi Init, sudah
menjadi konstruktor, bukan?
Jadi bagaimana kita bisa menyelesaikan ini?
Nah, salah satu caranya tinggal add email disini kan, dan emailnya saja.
Atribut tepat di sini, tapi apa masalahnya dengan ini?
Nah, itu tidak efisien, kan?
Karena jika saya membuat kelas Archer, saya harus melakukan hal yang sama.
Dan kita tahu bahwa semua atribut ini akan sama di semua subclass kita.
Kami ingin melakukannya di sini.
Jadi apa cara yang lebih efisien untuk melakukan ini?
Nah, kita ingin memanggil metode init pengguna dari dalam sini, kan, karena setiap kali
kita membuat instance Wizzard baru, nah, fungsi init akan dipanggil.
Jadi cara melakukannya adalah dengan mengatakan titik pengguna.
Garis bawahi, garis bawahi di dalamnya.
Dan kemudian memberikan diri.
Dan kemudian email.
Dan kemudian email adalah sesuatu yang kita lewati.
Sehingga jika saya pergi ke sini, saya bisa mengatakan.
Merlin di Gmail dot com akan menjadi email.
Jadi sekarang jika saya melakukannya, katakanlah.
Email DOT untuk Wizzard satu dan saya klik Jalankan.
Saya mendapatkan email Merlyn sekali lagi, yang kami lakukan hanyalah memanggil metode Init.
Dari pengguna di dalam wizard.
Jadi ketika kami membuat wizard baru, kami menjalankan fungsi ini dan di dalam fungsi ini kami menjalankan pengguna
itu di dalamnya dan meneruskan email yang kami berikan sebagai argumen.
Dan di sini.
Sekarang, ini adalah salah satu cara untuk melakukannya, dan kemudian ada cara lain, dan itu disebut super dan itu adalah kata
kuncinya.
Seperti yang Anda lihat, ini disorot di sini dan yang kami lakukan hanyalah menjalankannya dengan super.
Dan Super mengacu pada kelas super atau kelas di atas Wizzard, yang merupakan pengguna, dan ini sebenarnya merupakan
tambahan baru pada Python, dua poin.
Dengan super, sebenarnya kita tidak lagi membutuhkan diri sendiri, sehingga kode kita terlihat lebih bersih dan yang kita lewati hanyalah ini dan
jika kita klik, jalankan.
Kami masih mendapatkan jawaban yang benar super.
Memungkinkan kita untuk merujuk pengguna dengan cara ini dan tidak perlu khawatir melewati diri sendiri.