Proje Kurulumu
Coddy'nin C Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 22 / 61.
Görev
KolayBanka Hesabı kütüphanenizi oluşturmaya başlayalım! Bu ilk adımda, herhangi bir uygulama detayını ifşa etmeden hangi işlemlerin mevcut olduğunu tanımlayan başlık dosyasını, yani genel arayüzü oluşturacaksınız.
Proje temelini kurmak için iki dosya oluşturacaksınız:
account.h: Genel başlık dosyanız. Kütüphanenizi kullananların dahil edeceği dosya budur. Tamamlanmamış bir tür bildirimi (incomplete type declaration) kullanarak opak birAccounttürü bildirin; struct gövdesi olmasın, sadece derleyiciye türün var olduğunu söyleyen bir ileri bildirim (forward declaration) yapın. Ardındancreate_account(hesap kimliği için bir tamsayı alır ve bir Account işaretçisi döndürür) vedestroy_account(bir Account işaretçisi alır ve hiçbir şey döndürmez) fonksiyon prototiplerini bildirin.ACCOUNT_Hsembolünü kullanarak include guard'ları eklemeyi unutmayın.main.c: Başlık dosyanızın doğru şekilde derlendiğini doğrulamak için basit bir test dosyası. Başlık dosyanızı dahil edin ve arayüzün hazır olduğunu onaylayan bir mesaj yazdırın. Fonksiyonları henüz uygulamadığımız için sadece bir onay mesajı yazdırın; asıl uygulama bir sonraki derste gelecek.
Buradaki temel içgörü, başlık dosyanızın Account modülünün verileri dahili olarak nasıl sakladığını göstermeden neler yapabileceğini (hesap oluşturma ve yok etme) ortaya koymasıdır. account.h dosyasını dahil eden herkes bir Account türünün var olduğunu ve hangi fonksiyonların mevcut olduğunu bilecek, ancak herhangi bir dahili alana erişemeyecektir; çünkü başlık dosyasında herhangi bir alan tanımlamadınız!
Ana dosyanız şu çıktıyı vermelidir:
Account interface readyBu, sonraki birkaç ders boyunca oluşturacağınız eksiksiz Banka Hesabı sisteminin zeminini hazırlar. Şimdi oluşturduğunuz başlık dosyası, projede ilerledikçe deposit, withdraw ve get_balance fonksiyonlarını içerecek şekilde büyüyecektir.
Kendin dene
#include <stdio.h>
#include "account.h"
int main() {
// TODO: Arayüzün hazır olduğunu onaylayan bir mesaj yazdırın
// Mesaj şu olmalıdır: "Account interface ready"
return 0;
}
Object Oriented Programming bölümündeki tüm dersler
1Modüler Programlama Temelleri
Başlık DosyalarıInclude Guard'larKaynak DosyalarıStatik FonksiyonlarÖzet: Modüler Hesap Makinesi4Kapsülleme
Opaque Pointer KavramıOpaque Struct TanımlamaGetter ve Setter MetotlarıSetter Metotlarında DoğrulamaÖzet: Gizli Kutu2Nesneler ve Metotlar
Nesne Olarak Struct'lar'Self' İşaretçisiConst Doğruluğuİşaretçi vs DeğerYardımcı MetotlarÖzet: Point Manager5Proje: Basit Banka Hesabı
Proje KurulumuHesabın Oluşturulması3Nesne Yaşam Döngüsü
Constructor DeseniDestructor DeseniStack İlklendirmeDerin KopyalamaÖzet: String Wrapper6Kompozisyon Yoluyla Kalıtım
Struct Gömmeİlk Üye KuralıÜst Üyelere ErişimUpcastingÖzet: Şekil Hiyerarşisi