Coding for KidsCoding for Kids
Level KreatifTantanganPanduan Guru
Voting untuk fitur
Kursus Pengembangan Python Lanjutan
Bab
>
Tingkat

Kelas Lanjutan
Polimorfisme Kelas

Tujuan

Selesaikan persiapan beberapa campuran anggur sehingga mereka siap untuk diproses dengan menggunakan polimorfisme kelas.

Ada beberapa jenis anggur spesial yang membutuhkan persiapan lebih dibandingkan yang lain dan memerlukan tambahan ekstra sebelum mereka dapat dicampur dan difermentasi menjadi anggur yang sempurna. Untuk mencapai ini kita harus menggunakan polimorfisme kelas, yaitu cara untuk mengoptimalkan penggunaan objek yang dibuat menggunakan kelas. Ini dilakukan dengan membuat fungsi internal kelas berbagi properti sehingga semuanya dapat dipanggil dengan cara yang sama meskipun berasal dari kelas yang berbeda.

Di editor kode, kamu akan menyiapkan empat (4) kelas yang mencakup empat jenis anggur berbeda: grape, cherry, strawberry dan mango. Masing-masing kelas akan memiliki dua fungsi yang dinamakan add() dan take_action(), meskipun fungsi-fungsi ini disusun dengan cara yang sama, isi dari fungsi-fungsi tersebut bisa berbeda. Setiap kelas perlu memiliki fungsi take_action() yang diisi dengan material yang harus ditempatkan.

Untuk memulai, berjalanlah ke tanda X yang bercahaya dan hadapi meja untuk membaca catatan menggunakan fungsi read(). Catat informasi yang tertulis yang akan memberitahumu apa saja yang perlu ditambahkan ke fungsi take_action() pada setiap kelas. Misalnya, pada kelas grape perlu ditambahkan "white oak" menggunakan fungsi place() seperti yang diilustrasikan di bawah ini:

# Class for making grape wine class grape: def __init__(self,item): self.name = "grape" self.item = item # Adds materials def add(self): player.speak("%s are added to the %s mixture." % (self.item, self.name)) # Take actions def take_action(self): player.place(self.name) # New code added player.place("white oak")

Setelah semua material yang perlu ditempatkan telah ditambahkan ke fungsi kelas, berjalanlah ke tanda X berwarna emas dan ambil bahan-bahan yang harus ditempatkan ke dalam campuran anggur. Gunakan fungsi collect() untuk mengambil konstanta daftar yang bernama ingredients, dan periksa isinya menggunakan fungsi speak().

Berjalanlah ke bagian bawah peta dan kumpulkan empat (4) kantong buah dan beri, sehingga kamu memiliki komponen yang diperlukan untuk menyelesaikan campuran anggur.

Sekarang setelah semuanya telah dikumpulkan, saatnya untuk menambahkan semua material untuk menyelesaikan campuran anggur. Buat objek-objek dari kelas dan isi argumennya, seharusnya ada empat (4) objek: grape_mix, cherry_mix, strawberry_mix dan mango_mix.

Pada setiap objek, tetapkan kelas yang sesuai dengan namanya dan tambahkan item yang perlu dicampur sesuai dengan daftar yang telah kamu kumpulkan. Untuk grape tidak ada yang ditambahkan ("nothing"), untuk cherry tambahkan "pure water", untuk strawberry tambahkan "sugar" dan untuk mango tambahkan "spice". Sebagai contoh, sebuah objek yang sudah didefinisikan harus terlihat seperti ini: grape_mix = grape("nothing")

Setelah objek dibuat, saatnya untuk menerapkan polimorfisme kelas, berjalanlah ke tanda X gelap di bawah karpet merah, hadapi tong dan gunakan loop yang telah disiapkan di editor kode. Loop tersebut akan memungkinkan kamu untuk menavigasi setiap tong anggur di baris bawah dan melakukan penambahan elemen yang diperlukan untuk menyelesaikan campurannya.

Karpet red membutuhkan strawberry_mix, karpet purple membutuhkan cherry_mix, karpet green membutuhkan grape_mix dan karpet orange membutuhkan mango_mix. Tambahkan elemen ke dalam loop sesuai urutan yang ditampilkan pada peta dari kiri ke kanan. Misalnya:

for mix in (strawberry_mix, mango_mix, cherry_mix): mix.add() mix.take_action() player.turn_right() player.move_forward(2) player.turn_left()

Seperti pada contoh, campuran tersebut sesuai dengan urutan penempatan karpet dari kiri ke kanan, artinya: red, orange, purple sesuai dengan strawberry_mix, mango_mix, cherry_mix. Setelah urutan selesai, berjalanlah ke tanda X gelap pada karpet hijau, hadapi tong, dan lakukan hal yang sama dengan loop kedua yang telah disiapkan di editor kode. Kali ini, lakukan dari kanan ke kiri dengan urutan warna karpet (green, purple, orange) seperti yang ditunjukkan pada peta agar level dapat diselesaikan.

Buku Kode