Video: Abstract Class #31 | Java | Bahasa Indonesia 2024
Seperti yang secara intelektual memuaskan sebagai pemfaktoran adalah dalam C ++, ia memperkenalkan masalahnya sendiri. Dalam contoh mengenai kelas akaun bank, khususnya kelas asas Akaun. Fikirkan seminit mengenai bagaimana anda boleh menentukan fungsi anggota yang berbeza yang ditakrifkan dalam Akaun.
Kebanyakan Akaun fungsi ahli tidak ada masalah kerana kedua-dua jenis akaun melaksanakannya dengan cara yang sama. Melaksanakan fungsi-fungsi umum dengan Account :: withdrawal () adalah berbeza.
Peraturan untuk menarik balik dari akaun simpanan adalah berbeza daripada yang ditarik balik dari akaun cek. Anda perlu melaksanakan Simpanan:: pengeluaran () berbeza daripada yang anda lakukan Memeriksa:: pengeluaran () . Tetapi bagaimana anda sepatutnya melaksanakan Akaun:: withdrawal ()?
Mari tanya pengurus bank untuk bantuan. Perbualan boleh menjadi seperti berikut:
"Apakah peraturan untuk membuat pengeluaran dari akaun? " anda bertanya.
"Apa jenis akaun? Simpanan atau semak? "Datang jawapannya.
"Dari akaun," katamu. "Hanya akaun. "
Lihat kosong.
Masalahnya adalah bahawa soalan itu tidak masuk akal. Tidak ada perkara seperti "hanya akaun. "Semua akaun (dalam contoh ini) sama ada menyemak akaun atau akaun simpanan. Konsep akaun adalah satu abstrak yang memaksimumkan sifat-sifat yang biasa kepada dua kelas konkrit.
Ia tidak lengkap kerana ia tidak mempunyai pengeluaran hartanah kritikal () . (Setelah anda mendapatkan maklumat lanjut, anda mungkin mendapati sifat-sifat lain yang tidak mempunyai akaun mudah.)
Kelas Abstrak adalah salah satu yang hanya terdapat dalam subclass. Kelas konkrit adalah kelas yang tidak abstrak.