Skip to main content

Apa itu kelas dasar?

Kelas dasar, juga disebut superclass, adalah objek komputer yang bertindak sebagai fondasi untuk satu atau lebih kelas yang diturunkan.Setiap bahasa komputer yang mampu warisan dapat membuat kelas dasar.Bergantung pada jenisnya yang tepat, kelas dasar mungkin atau mungkin tidak mampu inisialisasi mdash;menetapkan nilai awal ke objek mdash;Sendiri, tetapi mereka selalu memberikan semacam fungsionalitas umum untuk kelas mana pun yang mewarisi dari mereka.Tidak pernah ada batasan untuk jumlah kelas yang diturunkan, atau subkelas, yang dapat dimiliki kelas dasar, tetapi mungkin ada batasan, tergantung pada bahasa komputer, pada jumlah kelas dasar yang dapat dimiliki kelas turunan.Bahasa yang memungkinkan kelas turunan hanya memiliki satu basis dikatakan untuk menegakkan warisan tunggal, sedangkan yang memungkinkan kelas turunan memiliki beberapa kelas dasar menggunakan beberapa warisan.

Kelas dasar konkret dapat diinisialisasi sendiri;Artinya, objek jenis kelas dasar dapat dibuat.Jika contoh kelas adalah basis untuk contoh kelas turunan2, objek tipe contoh2 dan objek jenis contoh keduanya dapat dibuat.Objek dari contoh jenis hanya dapat dibuat dengan secara eksplisit menyerukan jenis objek itu;Membuat objek tipe example2 tidak membuat objek sekunder dari tipe contoh.Dalam setiap kasus, tipe objek yang sedang dibuat membangun instance sendiri saja.

Kelas dasar abstrak, sebaliknya, tidak dapat diinisialisasi sendiri, yang berarti objek kelas dasar tidak dapat dibuat dengan sendirinya.Jika contoh kelas3 adalah basis abstrak untuk contoh kelas yang diturunkan4, hanya objek tipe Contoh4 yang dapat dibuat.Meskipun tipe Contoh4 mencakup data dari Type Example3, mencoba membuat objek semata -mata dari Type Example3 akan menghasilkan kesalahan.Fungsionalitas ini kadang -kadang dapat bermanfaat, terutama jika Class Contoh3 berisi data pribadi yang harus diatur secara ketat.

Bergantung pada bahasa yang muncul, kelas dasar dapat memiliki perilaku yang sedikit berbeda, dan nama yang sangat berbeda.Di Java , kelas dasar selalu disebut dengan nama itu, sementara di C ++, tergantung pada strukturnya, mereka dapat disebut kelas virtual.Perbedaan dalam nama dan fungsionalitas, sementara signifikan dalam hal bahasa komputer yang digunakan, tidak menyiratkan perbedaan utama dalam prinsip di balik kelas.Kelas dasar selalu digunakan untuk merangkum fungsionalitas umum dan data untuk kelas yang diturunkan, terlepas dari bahasanya.