Mari kita bicara tentang pewarisan berganda, yang dapat Anda lakukan dengan Python sekarang, ingat, kami memiliki panduan
pengguna dan Kelas Pemanah kami.
Kami sedang mencoba membangun game itu sekarang.
Mari kita bersihkan beberapa kode ini.
Kita tidak akan membutuhkan fungsi init lagi.
Kami hanya akan memiliki pengguna di sini.
Kami memiliki wizard yang mewarisi dari pengguna dan juga Archer yang mewarisi dari pengguna.
Tapi apa jadinya jika kita ingin membuat karakter baru?
Dan karakter ini disebut kelas, katakanlah.
Katakanlah itu disebut hybrid Bjorg, kami adalah nama, saya tahu, tapi inilah masalahnya.
Hybrid Borg adalah tipe karakter khusus karena memiliki kekuatan yang dimiliki penyihir, yaitu menyerang.
Ia memiliki kekuatan yang dimiliki pemanah, yaitu panah centang.
Dan hanya untuk bersenang-senang, mari tambahkan juga runnier.
Dan kami hanya akan mengatakan untuk Run berlari sangat cepat.
Baiklah, jadi kita ingin bawk hibrida ini memiliki semua metode ini, bisakah kita melakukannya?
Nah, yang bisa kita lakukan hanyalah mengatakan Wizard dan kemudian Archer, kita dapat memberikan parameter sebanyak yang kita inginkan sebanyak beberapa
warisan yang kita warisi dari Wizard dan Archer sehingga di sini, katakanlah saya tidak melakukannya apa saja dan
aku hanya akan melewatinya.
Jika saya instantiate, katakanlah, hybrid Borg, satu akan menjadi hybrid.
Untuk kelas yang dipakai, saya sekarang dapat menggunakan semua hal ini.
Yuk cek, misalkan print HP one dot run.
Bisakah saya melakukan itu?
Dan sekali lagi, sedikit kesalahan ejaan, mari pastikan itu hybrid hybrid borak, bukan hybrid board.
Semoga kalian tidak bosan dengan video ini.
Baiklah.
Saya mendapatkan kesalahan yang hilang pada argumen posisi, nama, dan kekuatan yang diperlukan.
Baiklah, karena sementara kita harus melewati hal-hal ini dengan benar, ia menerima parameter ini.
OK, jadi katakanlah kita menginginkan sebuah nama.
Borghi dan kekuatan menjadi 50 jika saya menjalankan ini.
Baiklah, sepertinya lari sangat cepat berhasil.
Saya bisa mewarisi dari Archer.
Bagaimana dengan cek arroz?
Jika saya klik, jalankan.
Oh, saya mendapatkan objek papan hybrid tidak memiliki atribut mengudara.
Sekarang, mengapa begitu?
Karena secara teknis, kami.
Diwarisi dari Wizard First, lalu Archer dan Wizard menerima.
Nama dan kekuasaan.
Tapi kami tidak pernah memberikan nama panah dan arroz.
Hmm, jadi bagaimana kita bisa mengatasinya?
Mari kita coba sesuatu, katakanlah kita menambahkan panah di sini 100 dengan pekerjaan ini.
Hmm, itu tidak berhasil, bukan?
Dan ini adalah hal yang rumit dengan pewarisan berganda dan mengapa beberapa bahasa pemrograman sebenarnya bahkan tidak
mengizinkan hal pewarisan berganda menjadi sedikit rumit, karena di kepala Anda, Anda harus memastikan bahwa
Anda memahami bagaimana kelas-kelas ini diimplementasikan dan memastikan bahwa kita tidak menimpa apa
pun.
Dalam kasus kami, kami dapat sedikit memperumit kode kami.
Jadi apa yang bisa kita lakukan di sini?
Nah, di sini, saya mungkin bisa melakukan sesuatu seperti ini, bisa saya katakan define.
Di dalamnya.
Ini menerima dirinya sendiri, itu akan menerima nama, kekuatan, dan juga.
Arroz.
Dan akhirnya, dan di sini saya dapat mengatakan bahwa kita juga akan memanggil Archer.
titik.
Dan itu akan mengambil selfie dan kemudian memberikan nama.
Dan Darrel.
Sehingga jika saya menjalankan ini.
Nah, mari kita tambahkan panah, seratus di sini dan saya klik run.
Ini dia, Arrows sekarang berfungsi.
Sekarang, hanya untuk memeriksa apakah serangan kita pada wizard berfungsi dengan baik, jika kita melakukan serangan.
Dan klik, Ron.
Oh Boy.
Sekarang objek hibrida kami tidak memiliki kekuatan.
Jadi sekali lagi, agar kita memiliki kekuatan, kita harus menyalin ini dan katakanlah kali ini Wizzard itu
sendiri dan kemudian memberinya kekuatan.
Jika saya klik, jalankan.
Baiklah, serangan berhasil, mari kita kembali untuk memeriksa, pastikan kita tidak merusak apa pun.
Jika saya mengklik itu, itu juga berfungsi.
Dan akhirnya, bagaimana dengan sign in bull sign and work?
Masuk, oke.
Ya ampun, itu banyak sekali dan ada beberapa cara untuk benar-benar memecahkan masalah ini.
Apa yang ingin saya tunjukkan kepada Anda adalah bahwa ketika Anda melakukan pewarisan berganda, segalanya bisa menjadi rumit.
Dan meskipun kita menjalaninya selangkah demi selangkah, bayangkan jika ada kode yang muncul di tim
Anda di tempat kerja dan coba pahami kode ini di mana kami telah menambahkan sedikit logika di sini dan segalanya
menjadi semakin rumit dan sulit untuk melacak segala sesuatu di kepala Anda.
Dan inilah mengapa pewarisan berganda adalah salah satu hal yang sangat, sangat kuat.
Tetapi dengan kekuatan yang besar datanglah tanggung jawab yang besar karena kita menciptakan semakin banyak kerumitan.
Sekali lagi, sebagian alasan mengapa beberapa bahasa pemrograman sebenarnya tidak mengizinkan Anda melakukan pewarisan berganda.
Dan omong-omong, saya akan semakin membingungkan Anda.
Dan video berikutnya, kita akan berbicara tentang sesuatu yang disebut MRO.
Dan itu akan menjadi contoh bagus lainnya mengapa Anda ingin berhati-hati dengan banyak pewarisan.
Sampai jumpa di yang itu.