Selamat datang kembali.
Di video sebelumnya, kami melihat bahwa kami melakukan beberapa booboo besar, yaitu kami menimpa nama dan berbicara, dan
sekarang semua kerja keras yang kami lakukan di kelas kami telah ditimpa oleh ini.
Maksud saya, tentu, jika kita membuat instance objek baru.
Kami akan berlari dan berbicara, tetapi pemain satu sekarang benar-benar tidak berguna, tidak memiliki nama dan berbicara, tetapi hanya mengatakan
Boo, sama sekali tidak berguna.
Sekarang, dengan Python, ada gagasan tentang publik dan pribadi, dan ini terkait dengan diskusi kita
tentang abstraksi, gagasan di balik abstraksi adalah kita menyembunyikan informasi dan hanya memberikan akses ke hal-hal
yang menjadi perhatian pengguna.
Benar.
Jadi idealnya, kita tidak boleh memiliki akses ke dalamnya.
Idealnya, kita tidak boleh, katakanlah, memodifikasi, menjalankan atau memodifikasi nama dan usia, karena ketika
kita membuat karakter pemain dalam permainan kita, mudah-mudahan pemain dapat secara acak mengubah nama atau usia
mereka.
Dan menyelinap ke dalam permainan kami, yang mungkin baru berusia 18 tahun ke atas.
Jadi bisakah kita membuat variabel pribadi di kelas kita?
Nah, inilah masalahnya.
Beberapa bahasa memungkinkan kita untuk memiliki variabel pribadi.
Misalnya, dalam bahasa seperti Java, saya sebenarnya dapat mengatakan bahwa atribut bersifat pribadi seperti ini, dan saya tidak
akan dapat mengaksesnya dan memodifikasinya seperti yang saya lakukan dengan cara ini.
Tetapi dalam Python, tidak ada privasi yang sebenarnya, tidak ada variabel pribadi yang sebenarnya.
Jadi bagaimana kita menyiasatinya?
Nah, yang akan kita lakukan adalah menggarisbawahi nama atau menggarisbawahi H.
Sekarang, apakah ini memberikan kekuatan khusus?
Tidak, ini hanya konvensi yang sebagai pemrogram, sebagai pemrogram Python, kami menentukan bahwa, hei,
jika kami melihat garis bawah dalam kode kami, kemungkinan besar ini berarti bahwa ini harus menjadi variabel pribadi.
Sehingga ketika saya menggunakannya dalam berbicara, misalkan nama underscore, underscore H.
Dan mari kita komentari ini jika saya mengklik, Ron.
Yah, saya harus menjalankan ini karena sekarang ini adalah metode, mari kita jalankan.
Dan saya mendapatkan nama saya Andre, dan saya berusia 100 tahun.
Semuanya berfungsi, tetapi jika saya mencoba menimpa ini dan klik jalankan.
OK, dan sekarang, karena ini bukan lagi metode, mari kita hapus, ucapkan dan saya klik jalankan.
Ini masih berfungsi, dan itu karena, seperti yang saya katakan, tidak ada variabel pribadi yang sebenarnya sebagai programmer, kami telah memutuskan bahwa
garis bawah berarti Anda tidak boleh menyentuh kami.
Tolong jangan sentuh ini.
Anda masih bisa menjadi jahat dan melakukan hal seperti ini.
Tapi saya memberi tahu Anda sebelumnya.
Jika Anda melihat garis bawah, ini tidak boleh diubah.
Ini harus pribadi.
Dan begitulah cara kami mencapai privasi dengan Python.
Kami semua setuju untuk mengatakan, hei, mari kita rahasiakan hal kecil ini.
Jadi, jika Anda ingin merahasiakan metode atau atribut, Anda cukup meletakkan garis bawah di depannya.
Tapi itu bukan jaminan.
Bagaimana dengan init garis bawah ganda ini?
Sekali lagi, ini adalah sesuatu yang akan kita bicarakan segera, tetapi ini disebut metode Dundar.
Artinya, itu dibangun ke dalam Python.
Dan kami biasanya tidak pernah menulis metode Dundar kami sendiri, kami tidak akan pernah menulis garis bawah ganda, tulis ini.
Garis bawah ganda ini dan ada banyak dari mereka yang memiliki arti khusus dalam Python.
Dan alasan mengapa nama mereka seperti ini adalah karena mereka berkata, hei, jika Anda menulis garis bawah ganda
untuk variabel Anda, Anda melakukan sesuatu yang sangat salah, Anda akan menimpa sesuatu.
Jadi sekali lagi, garis bawah ganda ini juga merupakan konvensi untuk memberi tahu orang-orang bahwa Anda
tidak boleh menyentuh ini atau memodifikasinya dengan setiap tipe data.
Katakanlah sebuah daftar.
Jika saya melakukan Dot, Anda akan melihatnya saat menggulir ke bawah.
Anda memiliki banyak metode Dundar ini, sekali lagi, sesuatu yang akan kita bicarakan.
Tapi ini di sini untuk memberi tahu Anda, jangan menimpanya.
Jika Anda melakukan sesuatu seperti garis bawah, garis bawah, saya tidak tahu dok seperti ini, itu buruk.
Jangan coba-coba dan ubah dan tetapkan menjadi lima.
Jadi ide bidang pribadi ini penting untuk Python, dan meskipun kita dapat menimpa banyak hal, itu adalah praktik
yang buruk.
Tapi mari kita kembalikan ke abstraksi.
Idenya adalah untuk mengabstraksi kode ini.
Dan meskipun itu dapat dimodifikasi dan diganti dengan menggunakan konvensi yang tepat ini seperti atribut pribadi, kami dapat
mengabstraksikan hal-hal, tetapi tetap memastikan bahwa apa pun yang mungkin digunakan pengguna tidak akan merusak
kode kami.
Sampai jumpa di yang berikutnya, Bob.