3.1 OOP
C++'da Nesne Yönelimli Programlama (OOP), nesneleri ve sınıfları kullanarak programların daha esnek, yapılandırılmış ve yönetilebilir olmasını sağlayan bir programlama paradigmasıdır. C++'ın OOP özellikleri, yazılımcıların daha karmaşık ve ölçeklenebilir uygulamalar geliştirmesine olanak tanır. C++'da OOP'nin dört temel prensibi vardır:
Kapsülleme (Encapsulation): C++'da kapsülleme, verileri ve bu verilere yönelik işlevleri bir arada tutarak, nesnelerin iç yapısını dışarıdan gizlemeyi sağlar. Bu, veri güvenliğini artırır ve kodun daha düzenli olmasına yardımcı olur. Kapsülleme, genellikle "public", "private" ve "protected" erişim belirleyicileri ile uygulanır.
class BankaHesabi { private: double bakiye; // Kapsüllenmiş veri public: void paraYatir(double miktar) { // Public metot bakiye += miktar; } double bakiyeGoster() { // Public metot return bakiye; } };
Soyutlama (Abstraction): C++'da soyutlama, karmaşık sistemlerin basitleştirilmesini ve sadece önemli özelliklerin görünür hale getirilmesini sağlar. Kullanıcı, bir nesnenin detaylarıyla değil, yalnızca işlevselliği ile etkileşimde bulunur. Soyutlama genellikle arayüzler ve soyut sınıflar ile gerçekleştirilir.
class Sekil { // Soyut sınıf public: virtual void ciz() = 0; // Saf sanal fonksiyon }; class Daire : public Sekil { public: void ciz() override { // Override ile soyut fonksiyonun implementasyonu // Daire çizme kodu } };
Miras (Inheritance): Miras, bir sınıfın (alt sınıf) başka bir sınıftan (üst sınıf) özelliklerini ve işlevselliğini miras almasını sağlar. Bu, kod tekrarını azaltır ve yeni sınıfların oluşturulmasını kolaylaştırır. C++'da miras, "public", "protected" veya "private" erişim belirleyicileri ile yapılabilir.
class Hayvan { // Üst sınıf public: void ye() { // Yeme işlemi } }; class Kopek : public Hayvan { // Alt sınıf public: void havla() { // Havlama işlemi } };
Polimorfizm (Polymorphism): Polimorfizm, aynı isimdeki fonksiyonların farklı nesneler üzerinde farklı şekillerde çalışabilmesini sağlar. Bu, genellikle sanal fonksiyonlar ve işaretçilerle gerçekleştirilir.
void sesCikar(Hayvan* hayvan) { hayvan->sesCikar(); // Polimorfik çağrı }
C++'da OOP, yazılım geliştirmede daha modüler ve esnek bir yaklaşım sağlar. Nesne yönelimli programlama ile, yazılımcılar daha kolay bakım yapılabilir ve genişletilebilir yazılımlar geliştirebilirler. C++'ın sunduğu OOP özellikleri sayesinde, karmaşık sistemlerin yönetimi ve geliştirilmesi daha etkili hale gelir.
Last updated
Was this helpful?