Memahami OOP : Abstraction

Abstraction merupakan salah satu daripada 4 konsep penting dalam OOP. Abstraction bermaksud tidak lengkap. Kalau dalam bidang kesenian, gambar-gambar abstract adalah gambar yang boleh mempunyai pelbagai maksud atau gambar yang membolehkan manusia ada kefahaman tersendiri terhadap mesej yang ingin disampaikan dalam gambar tersebut.

OK, enough with kesenian.. Abstraction dalam OOP adalah satu proses yang memisahkan antara apa yang diperlukan dan apa yang tidak diperlukan oleh satu-satu class. Kita ambik contoh, kita nak design class untuk student. Berikut data-data yang mungkin kita ada pasal student :
Kalau perasan, ada data yang kita tak perlu untuk buat class student kan??So jom kita abstractkan class Student.
The Power of Abstraction
So, abstraction ni senang je nk paham...tapi ape apa advantages abstraction? Ok, katakan, kita nak seperatekan student-student ni based on course @ program.


Macam gambar kat atas ni, kita boleh pecahkan student-student ni kepada course diorang, tanpa buat sebarang perubahan kepada class student td!! Disamping tu, dkt SoftwareStudent punyer class, kita siap boleh tambah data languageExpertise lagi (class lain x mungkin ada data ni kan?)..So katakan, requirement kita suddenly change...Pihak university tiba-tiba nak tambah course business dalam University diorang...So, untuk cope dengan perubahan tu, kita cuma perlu tambah satu class BusinessStudent dalam design kita...
So, kita berjaya cope with the change, dengan sedikit perubahan je dalam design kita.. 

Hope ade sumthing yang kita dapat dari post ni..post lepas ni akan bincang pasal Inheritence plak, yang mana Inheritence sgt berkait rapat dengan Abstraction...

Kesimpulan :
- Abstraction merupakan satu konsep @ process dimana data-data yang difikirkan perlu sahaja diletakkan dalam satu-satu class.

Artikel Berkaitan