Penyiapan Proyek
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan C di Coddy. Pelajaran 22 dari 61.
Tantangan
MudahMari mulai membangun library Bank Account-mu! Pada langkah pertama ini, kamu akan membuat antarmuka publik: file header yang mendefinisikan operasi yang tersedia tanpa mengungkap detail implementasi apa pun.
Kamu akan membuat dua file untuk menyiapkan fondasi proyek:
account.h: File header publikmu. File ini akan disertakan oleh pengguna library-mu. Deklarasikan tipeAccountyang opak menggunakan deklarasi tipe tidak lengkap: tanpa isi struct, cukup deklarasi maju yang memberi tahu compiler bahwa tipe tersebut ada. Lalu deklarasikan prototipe fungsi untukcreate_account(menerima bilangan bulat untuk ID akun dan mengembalikan pointer Account) dandestroy_account(menerima pointer Account dan tidak mengembalikan apa pun). Jangan lupa menggunakan pelindung include dengan simbolACCOUNT_H.main.c: File pengujian sederhana untuk memastikan header-mu berhasil dikompilasi. Sertakan header-mu dan cetak pesan yang mengonfirmasi bahwa antarmuka sudah siap. Karena kita belum mengimplementasikan fungsi-fungsinya, cukup cetak pesan konfirmasi: implementasi sebenarnya akan dibuat pada pelajaran berikutnya.
Inti pentingnya adalah header-mu mengungkapkan apa yang dapat dilakukan module Account (membuat dan menghapus akun) tanpa menunjukkan bagaimana module itu menyimpan data secara internal. Siapa pun yang menyertakan account.h akan mengetahui bahwa tipe Account tersedia dan fungsi apa saja yang dapat digunakan, tetapi mereka tidak akan dapat mengakses field internal apa pun karena kamu belum mendefinisikannya di header!
File utama kamu harus menghasilkan:
Account interface readyIni menjadi dasar untuk sistem Bank Account lengkap yang akan kamu bangun selama beberapa pelajaran berikutnya. Header yang kamu buat sekarang akan berkembang dengan menambahkan deposit, withdraw, dan get_balance seiring kamu melanjutkan proyek ini.
Coba sendiri
#include <stdio.h>
#include "account.h"
int main() {
// TODO: Cetak pesan untuk mengonfirmasi bahwa antarmuka sudah siap
// Pesannya harus: "Account interface ready"
return 0;
}
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar Pemrograman Modular
file headerProteksi includefile sumberFungsi StatisRingkasan: Kalkulator Modular4Enkapsulasi
Konsep Opaque PointerMendefinisikan Opaque StructGetter dan SetterValidasi pada SetterUlasan: Kotak Rahasia2Object dan method
Struct sebagai objectPointer 'self'Konsistensi constPointer vs nilaiMethod pembantuRangkuman: Pengelola Point5Proyek: Akun Bank Sederhana
Penyiapan ProyekImplementasi Akun3Siklus Hidup object
Pola KonstruktorPola DestruktorInisialisasi StackSalinan MendalamRangkuman: Pembungkus string6Pewarisan melalui Komposisi
Penyematan StructAturan Anggota PertamaMengakses Anggota ParentUpcastingRekap: Hierarki Bentuk9Proyek: Penggambar Bentuk
Ringkasan ProyekImplementasi LingkaranImplementasi Persegi PanjangPenggunaan PolimorfismeWadah BentukLatihan sendiri: Compiler C online