Kita tahu bahwa ada empat pilar OPIS dan kita belajar tentang enkapsulasi, apa yang kedua?
Nah, itu disebut abstraksi.
Abstraksi berarti menyembunyikan informasi atau mengabstraksikan informasi dan memberikan akses hanya ke apa yang
diperlukan.
Jadi apa pun yang diminati pengguna atau pemrogram atau mesin, itulah satu-satunya hal yang kami berikan
akses ke yang lainnya.
Kami menyembunyikannya di dalam selimut di bawah kap mesin karena pengguna kami tidak perlu khawatir.
Mari saya tunjukkan apa yang saya maksud.
Jika saya kembali ke contoh lama kami di sini, jadi alih-alih memiliki kamus, kami
sebenarnya memiliki karakter pemain dengan banyak metode.
Nah, abstraksi sebenarnya bisa dilihat di sini, kan?
Ketika saya melakukannya.
Pemain satu titik berbicara, Anda melihat abstraksi beraksi karena ketika saya mengklik jalankan.
Saya mendapatkan minuman ini, tetapi ketika saya menelepon berbicara, saya tidak terlalu peduli bagaimana Speek diterapkan, yang saya tahu
adalah bahwa Pemain memiliki akses ke metode bicara dan saya dapat menggunakannya.
Sama dengan ketika saya menggunakan sesuatu seperti hak Tuple.
Jika saya memiliki satu, dua, tiga dan saya melakukan titik di sini, saya dapat menghitung untuk menghitung berapa banyak item yang ada di tuple.
Jadi jika saya mencetak dan mengklik, jalankan.
Yah, saya harus memberikan sesuatu yang kita cari dalam kasus kita, mari kita lihat satu dan tambahkan satu lagi
di sini.
Jika saya klik, jalankan.
Saya sampai sekarang, apakah saya perlu tahu bagaimana metode penghitungan diterapkan?
Tidak, maksud saya, saya dapat memeriksanya, saya dapat melihat dokumentasi Python, mungkin
kode Python dan memahami bagaimana sebenarnya menghitung ini, tetapi saya tidak benar-benar perlu menulis.
Jika kita mencoba memahami setiap bagian kecil, kepala kita akan meledak.
Terkadang yang kita butuhkan hanyalah sebuah metode atau atribut dan hanya mendapatkan akses ke sana tanpa harus
khawatir tentang bagaimana itu diimplementasikan, yang benar-benar bagus.
Hal yang sama berlaku dengan fungsi bawaan, bukan?
Jika saya melakukan lenth di sini dan saya klik run.
Saya mendapatkan panjang empat, tetapi saya tidak benar-benar perlu tahu bagaimana LENTH diimplementasikan dengan Python,
itu diabstraksikan dari kami.
Dan inilah kekuatan OLP, ia mengabstraksikan hal-hal yang tidak perlu kita pedulikan, atau setidaknya membuat kita lebih efisien
sehingga kita tahu bahwa ia bekerja dengan cara tertentu dan kita tidak membuang waktu untuk
belajar atau pengkodean dari awal.
Jika kita memiliki iPhone, misalnya, fitur kamera di iPhone, akan bagus untuk aplikasi yang kita
buat untuk menggunakannya.
Tapi kita tidak perlu benar-benar tahu persis bagaimana kode kamera iPhone di iPhone.
Tidak.
Sebaliknya, iPhone biasanya memberi kita cara untuk mengatakan titik kamera, ambil gambar.
Untuk benar-benar memungkinkan kita mengambil gambar tanpa mengetahui bagaimana sebenarnya para insinyur Apple melapisi kamera, jadi ini adalah
konsep yang sangat kuat.
Oke, jadi Anda berpikir, saya pikir saya akan mendapat gangguan.
Tapi izinkan saya menanyakan ini kepada Anda.
Bisakah saya melakukan pemain satu yang mendapat nama sama dengan, katakanlah, tanda seru dan kemudian pemain dot run.
Atau, Anda tahu, kurang berbicara sama dengan boo, pastikan itu pemain satu.
Nah, jika sekarang saya mencetak dan melakukan pemutar satu.
Pikiran berbicara dan saya mencoba menjalankan fungsi ini.
Ayo lihat.
Saya mendapatkan objek string tidak dapat dipanggil karena berbicara telah dimodifikasi, berbicara telah dimodifikasi menjadi
nilai string alih-alih fungsi aktual ini yang akan kami perlukan sehingga jika saya menjalankan, hanya
memeriksa atribut speaker, saya mendapatkan boo.
Hmmm, maksud saya, abstraksi itu bagus, tapi tunggu sebentar di sini, ini buruk jika saya memiliki kelas yang telah saya abstraksi,
tetapi siapa pun bisa ikut, programmer mana pun bisa ikut dan menghapus semua kerja keras saya
dan menimpanya seperti itu.
Bukankah itu buruk.
Mari istirahat dan jelajahi topik ini sedikit lebih banyak di video berikutnya.