object oriented programming c
C ++ 'da Nesne Tabanlı Programlamaya Giriş.
Bu eğitimle, Nesne yönelimli bir programlama dili olarak C ++ hakkında bilgi edinmek için bir dizi eğitici başlatıyoruz.
Bildiğimiz gibi, nesne yönelimli programlamadan (OOP) önce, programlar prosedürel diller kullanılarak yazılıyordu. Prosedürel diller, işlevleri vurgular. Daha büyük sorunlar, daha küçük alt problemlere bölünür ve işlevler olarak yazılır.
=> Tam C ++ Öğreticiler listesini Keşfetmek İçin Buraya Bakın.
Prosedürel diller verilere dikkat etmedi. Sonuç olarak, sorunu etkili bir şekilde ele almama olasılığı yüksekti. Ayrıca, veriler neredeyse ihmal edildiğinden, veri güvenliği kolayca tehlikeye atıldı.
Prosedürel programlamanın tüm bu dezavantajları, nesne yönelimli programlama ile aşıldı.
Bu eğitimde, nesne yönelimli programlamanın temellerini ve kısaca OOP'nin tüm özelliklerini tartışacağız.
Ne öğreneceksin:
- C ++ 'da Nesne Tabanlı Programlama
- Neden C ++ Kısmi OOP'dir?
- OOP Özellikleri
- OOP'nin Avantajları
- Sonuç
- Önerilen Kaynaklar
C ++ 'da Nesne Tabanlı Programlama
Nesneye yönelik programlama, veriler etrafında döner. OOP'nin ana programlama birimi nesnedir. Bir nesne, gerçek zamanlı bir varlığın temsilidir ve veriler üzerinde çalışan veri ve yöntemlerden veya işlevlerden oluşur. Bu şekilde, veriler ve işlevler yakından bağlanır ve veri güvenliği sağlanır.
OOP'de her şey bir nesne olarak temsil edilir ve programlar yürütüldüğünde nesneler mesajlar ileterek birbirleriyle etkileşime girer. Bir nesnenin iletişim kurmak için başka bir nesnenin uygulama ayrıntılarını bilmesine gerek yoktur.
OOP, nesnelerin dışında aşağıda listelenen çeşitli özellikleri destekler:
- Sınıflar
- Kapsülleme
- Soyutlama
- Miras
- Polimorfizm
OOP kullanarak, yukarıdaki özellikleri kullanarak sınıfları ve nesneleri kullanarak programlar yazıyoruz. Bir programlama dilinin, temsil ettiği her şey bir nesne kullanıyorsa, gerçek bir nesne yönelimli programlama dili olduğu söylenir. Smalltalk, tamamen nesne yönelimli bir programlama dili olan bir dildir.
Öte yandan, C ++ ve Java gibi programlama dillerinin kısmi nesne yönelimli programlama dilleri olduğu söyleniyor.
Neden C ++ Kısmi OOP'dir?
C ++ dili, nesneye yönelik özelliklerin C diline kullanılması amacıyla tasarlanmıştır.
C ++ dili Sınıflar, nesneler, kalıtım, kapsülleme, soyutlama ve çok biçimlilik gibi OOP özelliklerini desteklese de, C ++ 'nın kısmi nesne yönelimli programlama dili olarak sınıflandırılmasının birkaç nedeni vardır.
Windows 10 için en iyi önemsiz dosya temizleyici
Bu nedenlerden birkaçını aşağıda sunuyoruz:
# 1) Sınıf / nesnelerin oluşturulması İsteğe bağlıdır
C ++ 'da ana işlev zorunludur ve her zaman sınıfın dışındadır. Dolayısıyla, programda yalnızca bir ana işleve sahip olabiliriz ve sınıflar ve nesneler olmadan yapabiliriz.
Bu, her şeyin bir nesne olarak temsil edildiği Saf OOP dilinin ilk ihlalidir.
# 2) Global Değişkenlerin Kullanımı
C ++, programın dışında bildirilen ve programın diğer herhangi bir varlığı tarafından erişilebilen global değişkenler kavramına sahiptir. Bu, kapsüllemeyi ihlal ediyor. C ++, sınıflara ve nesnelere göre kapsüllemeyi desteklese de, küresel değişkenler söz konusu olduğunda bununla ilgilenmez.
# 3) Bir Arkadaş Fonksiyonunun Varlığı
C ++, diğer sınıfların özel ve korumalı üyelerine onları arkadaş yaparak erişmek için kullanılabilecek bir arkadaş sınıfını veya işlevini destekler. Bu, OOP paradigmasını ihlal eden bir başka C ++ özelliğidir.
Sonuç olarak, C ++ yukarıda belirtilen tüm OOP özelliklerini desteklese de, bu özellikler için geçici çözüm olarak hareket edebilecek özellikler de sağlar, böylece onlarsız da yapabiliriz. Bu, C ++ 'ı kısmi bir Nesne yönelimli programlama dili yapar.
OOP Özellikleri
Burada programlama için kullanılan çeşitli OOP özelliklerini tanıtacağız.
Sınıflar ve Nesneler
Bir nesne, nesne yönelimli programlamada temel bir birimdir. Bir nesne, bu veriler üzerinde çalışan verileri ve yöntemleri veya işlevleri içerir. Nesneler hafızada yer kaplar.
Öte yandan bir sınıf, nesnenin bir taslağıdır. Tersine, bir nesne bir sınıfın bir örneği olarak tanımlanabilir. Bir sınıf, nesnenin iskeletini içerir ve bellekte herhangi bir yer kaplamaz.
Bir alalım Misal bir araba nesnesinin. 'Maruti' adlı bir araba nesnesi, renk gibi verilere sahip olabilir; marka, model, hız limiti vb. ve hızlandırma gibi işlevler. Başka bir nesne 'ford' tanımlıyoruz. Bu, önceki nesneninki gibi benzer verilere ve işlevlere ek olarak bazı eklere sahip olabilir.
Benzer şekilde, benzer verilere ve işlevlere ve bazı küçük varyasyonlara sahip farklı adlarda çok sayıda nesneye sahip olabiliriz.
Bu nedenle, bu farklı nesnelerde bu benzer verileri ve işlevleri tanımlamak yerine, bu nesnelerin Araba adı verilen bir sınıf olan bir planını tanımlıyoruz. Yukarıdaki nesnelerin her biri bu sınıf arabanın örnekleri olacaktır.
Soyutlama
Soyutlama, ilgisiz bilgileri kullanıcıdan gizleme sürecidir. Örneğin , arabayı sürerken önce bir anahtar takarak motoru çalıştırıyoruz. Motoru çalıştırmak için arka planda devam eden sürecin farkında değiliz.
Programlamada soyutlamayı kullanarak gereksiz ayrıntıları kullanıcıdan gizleyebiliriz. Uygulamamızda soyutlama kullanarak, dahili uygulamayı değiştirsek bile son kullanıcı etkilenmez.
Kapsülleme
Kapsülleme, hangi verilerin ve bunlar üzerinde çalışan yöntemlerin veya işlevlerin bir araya toplandığı süreçtir. Bunu yaparak, verilere dış dünya tarafından kolayca erişilemez. OOP'de, veri üyelerini özel yaparak ve bu veri üyelerine erişmek için genel işlevlere sahip olarak kapsüllemeyi gerçekleştiririz.
Miras
Bir sınıfın miras nesnesinin kullanılması, başka bir sınıfın nesnesinin özelliklerini devralabilir veya alabilir. Kalıtım, kodun yeniden kullanılabilirliğini sağlar.
Bu nedenle, başka bir sınıfın özelliklerini ve işlevselliğini elde ederek yeni bir sınıf tasarlayabiliriz ve bu süreçte ana sınıfın işlevselliğini değiştirmemize gerek yoktur. Sadece sınıfa yeni işlevler ekliyoruz.
Polimorfizm
Çok biçimlilik, birçok biçim anlamına gelir.
Polimorfizm, OOP'nin önemli bir özelliğidir ve genellikle operatörün aşırı yüklenmesi veya işlevin aşırı yüklenmesi olarak uygulanır. Operatör aşırı yükleme, bir operatörün farklı durumlarda farklı davrandığı bir süreçtir. Benzer şekilde, fonksiyon aşırı yüklemesinde, aynı fonksiyon farklı durumlarda farklı davranır.
Dinamik Bağlama
OOP, çalışma zamanında işlev çağrısının çözüldüğü dinamik bağlamayı destekler. Bu, bir işlev çağrısı sonucunda yürütülecek kodun çalışma zamanında kararlaştırıldığı anlamına gelir. Sanal işlevler, dinamik bağlama örneğidir.
İleti geçişi
OOP'de nesneler birbirleriyle mesajlar kullanarak iletişim kurar. Nesneler iletişim kurduğunda, bilgiler nesneler arasında ileri geri aktarılır. Bir mesaj genellikle nesne adı, yöntem adı ve başka bir nesneye gönderilecek gerçek verilerden oluşur.
OOP'nin Avantajları
OOP'nin bazı avantajlarını tartışalım.
# 1) Yeniden Kullanılabilirlik
OOP, mevcut kodun miras yoluyla yeniden kullanılmasına izin verir. Kodu yeniden yazmak zorunda kalmadan mevcut işlevselliği kolayca edinebilir ve geliştirebiliriz. Bu, daha az şişirilmiş kodla sonuçlanır.
# 2) Modülerlik
Programı OOP'de modüler hale getirdikçe, bir sorun oluşursa veya yeni bir özellik veya geliştirme eklenecekse programı değiştirmek veya gidermek kolaydır. Modülerleştirme ayrıca kod netliğine yardımcı olur ve daha okunaklı hale getirir.
# 3) Esneklik
OOP, polimorfizm özelliğini kullanarak esnek programlama konusunda bize yardımcı olur. Çok biçimlilik birçok biçim aldığından, birçok nesne ile çalışacak ve böylece bizi her nesne için farklı işlevler yazmaktan kurtaracak operatörlere veya işlevlere sahip olabiliriz.
# 4) Sürdürülebilirlik
Çok fazla yeniden yapılandırma veya değişiklik yapmadan yeni sınıflar, nesneler vb. Eklemek kolay olduğundan kodun bakımı daha kolaydır.
# 5) Veri ve Bilgi Gizleme
OOP, veri gizlememize yardımcı olur ve böylece bilgilerin sızmasını önler. Yalnızca programın sorunsuz çalışması için gerekli olan veriler, içsel ayrıntılar gizlenerek kullanıcıya sunulur.
Sonuç
OOP, modern programlamanın en önemli ve esnek programlama paradigmasıdır. Özellikle gerçek dünya problemlerinin modellenmesinde faydalıdır ve bu nedenle çok popülerdir.
bir test senaryosu nasıl yazılır
Bu eğitimde OOP'nin çeşitli özelliklerini tartıştık. İleride tüm bu özellikleri ayrıntılı olarak tartışacağız.
Bu dizideki bir sonraki konu olan 'C ++ ile OOP', sınıflara ve nesnelere ayrıntılı olarak odaklanacaktır.
=> Absolute C ++ Eğitim Serisi İçin Tıklayınız.
Önerilen Kaynaklar
- OOP Java: Java'da Nesne Tabanlı Programlamaya Giriş
- C ++ Veri Türleri
- 2021'de Programlamayı Ortadan Kaldıran En İyi 10 Veri Bilimi Aracı
- C ++ 'da Veri Soyutlama
- C ++ 'da Veri Yapılarına Giriş
- Unix Borular Eğitimi: Unix Programlamada Borular
- QTP Eğitimi # 8 - QTP Kayıt Modları, Nesne Casus ve Nesne Depoları Hakkında Bilgi Edinin
- ÜCRETSİZ C ++ Programlamayı Öğrenmek İçin 70+ EN İYİ C ++ Öğreticisi