Bu makale Nesne Yönelimli Programlama'nın C++ dilindeki detaylarını ele alarak kavramlar, sınıflar, nesneler ve yöntemler hakkında bilgi vermektedir Ayrıca doğru kullanıldığında sınıfların modüler yapısı ve tekrar kullanılabilirliği arttırdığını, özelleştirme ve spesifik işlevler sağladığını ve kodların daha kolay bakımını sağladığını belirtmektedir

Nesne Yönelimli Programlama, günümüzün en popüler programlama paradigmalardan biridir ve C++ dili ile beraber kullanıldığında oldukça etkilidir. Bu makalede, C++ dilinde Nesne Yönelimli Programlama'nın detaylarına inerek kavramlar, sınıflar, nesneler ve yöntemler hakkında bilgi edineceksiniz.
C++ dilinde Nesne Yönelimli Programlama, programlama sürecini nesne kavramı etrafında kurar. Bu kavramlar, birbirleriyle ilişkili veriler ve işlevlerin birlikte bir sınıf olarak ele alınmasıdır. Bu sayede, programlama işlemleri daha sağlam ve yönetilebilir hale gelir. Sınıflar, nesneler ve yöntemler ise Nesne Yönelimli Programlama'nın temel kavramlarıdır.
Bu makalede, öncelikle Nesne Yönelimli Programlama'nın temel kavramlarına bir göz atacak, ardından sınıfların ne olduğunu, neden önemli olduklarını ve nasıl kullanıldıklarını öğreneceksiniz. Sınıfların veri üyeleri, örnekler ve başlatıcı listeleri, statik üyeleri gibi önemli detaylar da ayrıntılı bir şekilde ele alınacaktır. Bunun yanında sınıfların yöntemleri olan kurucu ve yıkıcı yöntemler, kalıtım ve çok biçimlilik hakkında da bilgi edineceksiniz.
Makalenin devamında, Nesne Yönelimli Programlama'nın bir diğer önemli kavramı olarak nesneler ele alınacak. Bu kavramın önemi, bir nesnenin ömrü, ne zaman oluşturulduğu, ne zaman öldürüldüğü ve bellek yönetimi gibi detaylara değinilecek. Nesnelerin yöntemleri, sanal yöntemler ve temel erişim kontrolü ise diğer önemli detaylar arasında yer almaktadır.
Son olarak, makalede C++ dilinde Nesne Yönelimli Programlama örneklerine yer verilecek. Bu örnekler, uygulama düzeyinde bilgi edinmenize yardımcı olacak ve Nesne Yönelimli Programlama'nın pratik kullanımına dair detayları öğrenmenize yardımcı olacaktır.
Kavramlar
Nesne Yönelimli Programlama (OOP) C++ dilinde kullanılan temel bir programlama paradigmalarından biridir. Bu programlama yaklaşımı, programlama problemlerini çözmenin daha temiz, daha yönetilebilir ve daha anlaşılır bir yoludur.
OOP'nin temel kavramlarına bir göz atın: Sınıflar, nesneler, miras ve çok biçimlilik. Sınıflar, C++ dilinde OOP'nin temel yapı taşlarıdır. Bir sınıf, bir nesnenin taslağını veya şablonunu belirtir.
Sınıf | Açıklama |
Nesne | Bir sınıftan türetilen bir örnek |
Miras | Bir sınıftan türetilen bir başka sınıf |
Çok Biçimlilik | Bir sınıfın, birçok farklı şekilde kullanılabilmesi |
Sınıflar, temel veri tipleri gibi herhangi bir veri türüne sahip olabilirler. Bu veri türleri, genellikle sınıfın veri üyeleri olarak adlandırılır ve sınıfın özelliklerini belirler. Ayrıca, sınıfların fonksiyonları veya yöntemleri vardır. Bu yöntemler, bir sınıfta yapılacak işlemleri belirler.
OOP'nin bir başka önemli kavramı nesnelerdir. Bir sınıftan türetilen bir nesne, o sınıfın bir örneği olarak düşünülebilir. Her nesne, bir sınıfın özelliklerini ve yöntemlerini barındırır. C++ dilinde, bir nesne oluşturmak için new anahtar kelimesi kullanılır.
Bunun yanı sıra, C++ dilinde miras ve çok biçimlilik de önemli kavramlardır. Miras, bir sınıfın başka bir sınıftan türetilmesidir. Bu, bir sınıfın özelliklerini başka bir sınıfta geçersiz kılma veya genişletme fırsatı verir. Çok biçimlilik ise bir sınıfın, farklı şekillerde kullanılabilmesine olanak tanır. Bu, bir sınıfın, aynı zamanda başka bir sınıfın bir örneği olarak bile kullanılabileceği anlamına gelir.
- Sınıflar, nesneler, miras ve çok biçimlilik OOP'nin temel kavramlarıdır.
- Sınıflar, bir nesnenin taslağını veya şablonunu belirtir.
- Nesneler, bir sınıfın özelliklerini ve yöntemlerini barındırır.
- Miras, bir sınıfın başka bir sınıftan türetilmesidir.
- Çok biçimlilik, bir sınıfın farklı şekillerde kullanılmasına olanak tanır.
Sınıflar
Sınıflar, Nesne Yönelimli Programlama'nın temel yapı taşlarından biridir. Bir sınıf belirli bir veri türünü temsil eder ve bu veri tipinde işlemler gerçekleştirmek için basit ve karmaşık yöntemler içerir. Sınıflar, kodları modüler hale getirerek, tekrar kullanılabilirliği arttırır ve kodların daha kolay bakımını sağlar.
Sınıfların yazımı oldukça esnektir. Bir sınıfın yapısı, veri üyeleri, işlevlerin tanımları ve diğer elemanlar dahil olmak üzere özelleştirilebilir. Sınıflar, diğer sınıflardan türetilebilen ve böylece daha spesifik işlevler elde etmeyi kolaylaştıran kalıtım kavramını da destekler.
- Sınıfların avantajları:
- - Modular kodlama yapısı ve tekrar kullanılabilirlik
- - Kolay bakım ve yönetim
- - Kalıtım kullanımıyla özelleştirme ve spesifik işlevler
Buna ek olarak, sınıflar, örneklenebilir. Bir örnek, bir sınıfın özelleştirilmiş bir örneği olarak düşünülebilir. Örnekler, sınıfların kodlanmış işlevlerinde benzersiz girdiler almalarını sağlar ve böylece karmaşık kodlamaları daha yönetilebilir hale getirir.
Sınıflar oluştururken veri üyeleri ve yöntemler tanımlanır. Veri üyeleri, bir sınıfın mantıksal özellikleridir ve bu özelliklere grup halinde erişilebilir. Yöntemler, belirli bir sınıfın verileri üzerinde çalışan işlevlerdir.
Özetle, sınıflar programlama dilinde bir veri tipi tanımlayan, kodlamada büyük bir esneklik ve modülerlik sağlayan yapı taşlarıdır. Geri kalan makalede sınıflar gibi diğer Nesne Yönelimli Programlama kavramlarına daha ayrıntılı bir şekilde değinilecektir.
Veri Üyeleri
Bir sınıfın, verileri depolamak için kullanabileceği veri üyeleri bulunmaktadır. Bu veri üyeleri, sınıfın statik veya dinamik olarak oluşturulan nesnelerindeki öznitelikleri tutarlar. Veri üyeleri, genellikle bir sınıfın özelliklerini açıklarlar.
Veri üyeleri, sınıfın özel bölümünde tanımlanırlar ve genellikle özel olarak erişilirler. Veri üyeleri, public, private veya protected olarak tanımlanabilirler.
Erişim Belirleyicisi | Tanım | Örnek |
---|---|---|
public | Sınıfın herhangi bir yerinde erişilebilir. | Bir araba sınıfında, renk genellikle public olur. |
private | Sınıfın özel bölümündeki fonksiyonlarda sadece erişilebilir. | Bir araba sınıfında, motor numarası private olur. |
protected | Sınıfın kalıtım alan sınıflarında erişilebilir. | Bir hayvan sınıfında, solunum sistemi fonksiyonları protected olabilir. |
Veri üyelerinin değiştirilmesi için sınıfın ilgili fonksiyonlarından öğe erişimi sağlanmalıdır. Veri üyelerine erişmek için erişim yöntemleri kullanılabilir. Bu yöntemler, public veri üyelerine erişim sağlarken, özel olarak tanımlanmış bir arayüz sağlarlar.
Örnekler ve Başlatıcı Listeleri
C++ dilinde Nesne Yönelimli Programlama için örnekler ve başlatıcı listeler oldukça önemlidir. Örnekler, belirli bir sınıfın nasıl kullanılacağını ve yöntemlerin nasıl uygulanabileceğini gösterir. Bu nedenle örnekler, nesne yönelimli programlama hakkında öğrenilmesi gereken en önemli araçlardan biridir.
Başlatıcı listeler ise nesneleri başlatmak için kullanılan bir yöntemdir. Bu yöntem, sınıfın veri üyelerinin başlangıç değerlerini atanmasını sağlar. Başlatıcı listeler, özellikle büyük veya çok sayıda veri üyesi olan sınıflar için oldukça önemlidir. Çünkü bu durumlarda tüm veri üyeleri ayrı ayrı atanacak olsa bile, başlatıcı listeler ile hem zaman hem de kod tekrarından tasarruf sağlanır.
Başlatıcı listeler sadece veri üyelerini başlatmakla kalmaz, aynı zamanda sınıfın diğer öğelerini de başlatır. Bu öğeler arasında statik üyeler ve diğer özel özellikler de yer alabilir. Dolayısıyla başlatıcı listeler, C++ dilinde Nesne Yönelimli Programlama için son derece kullanışlı bir araçtır.
Örnekleri ve başlatıcı listeleri kullanırken dikkatli olunmalı ve doğru bir şekilde kullanılmalıdır. Aksi takdirde, yanlış kod yazımı veya yanlış kullanım hatalarına neden olabilir. Ancak doğru bir şekilde kullanıldığında, örnekler ve başlatıcı listeler C++ dilinde Nesne Yönelimli Programlama'nın en önemli bileşenlerinden biri olacaktır.
Statik Üyeler
C++ dilinde nesne yönelimli programlama için önemli bir kavram olan "statik üyeler"i tanıyın. Statik üyeler, sınıfların örnekleme yapılmadan da kullanılabilen üyeleridir. Bu üyelerin önemi, sınıfları daha etkili bir şekilde tasarlamaya ve uygulamaya yardımcı olmalarıdır.
Statik üyeler, sınıfın tüm örnekleri arasında paylaşılır ve bu sayede örnekler arasında bilgi ve veri aktarımı daha kolay bir şekilde yapılabilir. Ayrıca, statik üyeler sınıfın bellek kullanımını da optimize ederler.
Statik üyelerin kullanımı için öncelikle sınıfın içinde "static" bir belirteç ile tanımlanması gerekir. Bu tanımlama sayesinde, statik üye sabit bir bellek alanında saklanır ve örneklemeye gerek kalmadan sınıf üzerinden erişebilirsiniz.
Bir sınıfta birden fazla statik üye tanımlayabilirsiniz. Statik üyelerin tipi, sınıfın diğer üyeleri gibi veri türleri olabilir. Yöntemler de statik olarak tanımlanabilir, ancak bu yöntemler yine de sınıfın örneği oluşturulmadan çağrılabilir.
Statik üyelerin kullanımı, sınıfın kullanımına bağlı olarak değişebilir. Ancak, doğru bir şekilde kullanıldıklarında, sınıfların daha efektif ve verimli bir şekilde tasarlanmasına yardımcı olabilirler.
Yöntemler
Sınıfların bir diğer önemli özelliği ise yöntemlerdir. Yöntemler, sınıfların davranışlarını ve işlevlerini belirlemelerine olanak tanır. Yöntemler, sınıfların veri üyeleriyle etkileşim kurmasına yardımcı olur ve sınıfın işlevini yerine getirir.
Bir sınıfın yöntemlerinin tanımlanması, sınıfın başlığı içinde gerçekleştirilir. Bir yöntem, bir fonksiyonla benzerlik gösterir. Yöntemlerin tanımlanması için fonksiyon bildirimleri kullanılır ve fonksiyon gövdesi sınıfın dışında tanımlanabilir.
Kurucu ve yıkıcı yöntemlerin sınıfların oluşturulması ve yıkılması sırasında kullanılırlar. Kurucu yöntem, bir sınıf örneği oluşturulduğunda çalışan ilk yöntemdir. Yıkıcı yöntem ise sınıf örneği yok edildiğinde çalışan son yöntemdir. Bu yöntemler sayesinde, sınıf örneğinin geçerli bir durumda olmasını sağlayabiliriz.
Sınıflarla ilgili diğer bir özellik ise kalıtım ve çok biçimlilikdir. Kalıtım, bir sınıfın diğer bir sınıftan özelliklerini alabilmesini sağlar. Bu sayede, kodunuzun yazımı daha kolay hale gelir ve kod tekrarından kaçınırsınız. Çok biçimlilik ise, aynı adı taşıyan fakat farklı parametrelerle çağrılan yöntemlerin farklı davranışlar göstermesine olanak tanır. Bu sayede, kodunuzun daha esnek ve uyumlu hale gelmesini sağlarsınız.
Kurucu ve Yıkıcı Yöntemler
Sınıfların özelliklerini ve yapısını tanımlayan kurucu ve yıkıcı yöntemleri, Nesne Yönelimli Programlama'nın önemli bir parçasıdır. Kurucu yöntem, sınıfın oluşturulduğu anda çalışan bir yöntemdir. Bu yöntem, sınıf içinde değişkenleri başlatmak ve sınıfa başka işlevler yüklemek için kullanılabilecek ilk yöntemdir. Yıkıcı yöntem ise, nesne yok edildiği zaman çalıştırılan bir yöntemdir. Bu yöntem, bellek yönetimi açısından oldukça önemlidir ve nesnenin sahip olduğu kaynakları serbest bırakmak için kullanılır.
Sınıfın kurucu ve yıkıcı yöntemleri oldukça kullanışlıdır. Örneğin, bir nesne oluşturulmadan önce, başka bir sınıfın özelliği olarak kullanıldığında, kurucu yöntem kendiliğinden çalışarak işaretçiyi veya değerleri ayarlayabilir. Aynı şekilde, yıkıcı yöntemleri kullanarak, sınıfın içinde kullanılan kaynaklar serbest bırakılabilir ve programın daha temiz bir şekilde çalışması sağlanabilir. Kurucu ve yıkıcı yöntemler, kodlama açısından da oldukça pratiktir. Çünkü nesnelerin özellikleri ve yapıları gibi temel özellikler, sınıfın oluşturulması sırasında belirlenmiş olur.
Sınıfların kurucu ve yıkıcı yöntemleri, Nesne Yönelimli Programlama'da oldukça önemli bir yer edinir. Bu yöntemler, sınıfların kullanımını daha kolay ve daha anlaşılır hale getirir ve kodun daha temiz bir şekilde yazılmasını sağlar. Sınıf yapısına uygun olarak oluşturulmuş kurucu ve yıkıcı yöntemler, özellikle büyük ve karmaşık programlarda oldukça önemlidir. Bu yöntemler sayesinde bellek yönetimi daha iyi yönetilir ve programın daha iyi çalışması sağlanır.
Kalıtım ve Çok Biçimlilik
Kalıtım, bir sınıfın başka bir sınıftan özelliklerini ve yöntemlerini (üyelerini) miras almasıdır. Miras alan sınıf, miras veren sınıfın tüm üyelerine erişebilir, ancak ek özellikler ekleyebilir veya üyeleri değiştirebilir. Bu, kodun tekrarını önler ve yazılımın bakımını kolaylaştırır.
Çok biçimlilik, bir nesnenin farklı şekillerde davranış sergilemesidir. Bu, bir sınıfın bir alt sınıf tarafından kalıtım alınarak veya aynı sınıf tarafından farklı metotları uygulayarak gerçekleştirilir. Bu, esnek kod yazımını sağlar ve bir nesnenin aynı zamanda farklı şekillerde davranabilmesine olanak tanır.
Bir örnek vermek gerekirse, bir hayvan sınıfımız ve bu sınıftan kalıtım yoluyla bir köpek ve bir kedi sınıfımız olabilir. Köpek ve kedi sınıfları, hayvan sınıfının özelliklerini miras alırken, aynı zamanda ek özellikler ekleyebilir, örneğin köpeklerin havlama yeteneği. Bunun yanı sıra, hayvan sınıfında belirli bir yöntem (metot) vardır ve köpek ve kedi sınıfları bunu farklı şekillerde uygulayabilir.
Çok biçimliliğin önemi, yazılımı daha esnek hale getirmesi ve nesnelerin daha geniş bir yelpazede kullanılabilmesidir. Örneğin, bir uygulama yazarken, farklı nesneleri oluşturabilir ve bu nesnelerin farklı şekillerde davranmasını sağlayabiliriz. Bu, kodun daha modüler olmasına ve yeniden kullanılabilirliğin artmasına neden olur.
Nesneler
C++ dilinde Nesne Yönelimli Programlama'da, nesneler, sınıflarda tanımlanan öğelerdir. Bir nesne belirli bir sınıfa ait olur ve sınıfın veri üyeleri ve yöntemlerine erişebilir. Nesneler, hafızada sınıfın örnekleridir ve programın çalışma zamanında yaratılır ve yok edilir.
Nesneler, bir sınıfın örneğini oluşturmak için new anahtar sözcüğü kullanılarak oluşturulur. Nesnelerin yönetimi sınıfın yöntemleri tarafından yapılır. Nesne, sınıfın yöntemleri tarafından çalıştırılır ve sınıfın veri üyelerini kullanarak çalışır. Nesneler, bir programın ömrü boyunca herhangi bir zamanda oluşturulabilir veya yok edilebilir.
Nesneler, bellek yönetimi hakkında da bilgi içerir. Nesne belleği manuel olarak tahsis edilebilir veya derleyici tarafından atama yapılarak tahsis edilebilir. Nesnelerin oluşturulduğu bellek bölgesi, nesne ömrü sona erene kadar kullanılabilir. Bu nedenle, programcıların bir nesnenin ömrünü bilmesi ve nesneyi oluştururken bellek ihtiyacını hesaplaması önemlidir.
C++ dilinde Nesne Yönelimli Programlama, bir sınıfın birden fazla örneği oluşturulabilir. Bu, aynı sınıftan farklı nesnelerin yaratılabileceği anlamına gelir. Nesne yönelimli programlama, birçok avantaj sunar; bellek yönetimi kolaydır, programlama hataları azaltılır ve kod yeniden kullanılır.
Nesne Ömürleri
Nesne ömürleri, bir nesnenin nasıl oluşturulduğu, ne zaman öldürüldüğü ve bellek yönetimi hakkında bilgi verir. Bir nesne, bir sınıf tanımlandığında otomatik olarak oluşturulur. Nesne oluşturulmadan önce, sınıfın kurucu yöntemi çağrılır. Kurucu yöntemi, nesnenin üyelerini başlatmak ve hazırlamak için kullanılır.
Bir nesne, yeniden kullanılabilir hale gelmek için öldürülebilir. Bir nesne öldürüldüğünde, nesnenin yıkıcı yöntemi çağrılır. Yıkıcı yöntem, nesnenin işlevselliğini ve bellek yönetimini serbest bırakarak öldürme işlemi yapar.
Nesnelerin bellek yönetimi, programların güvenli, hızlı ve doğru şekilde çalışabilmesi için önemlidir. C++ dilinde, bellek yönetimiyle ilgili birçok özellik bulunur. Örneğin, bellek sızıntılarını önlemek için, nesnelerin ömrünün sonunda bellek alanını temizlemek için bir yıkıcı yöntemi kullanmanız önerilir. Benzer şekilde, geçersiz bellek erişimlerini önlemek için, nesnelerin ömrü bittiğinde bellek alanının serbest bırakılmaması önerilir.
Genel olarak, nesne ömürleri hakkında bilgi edinmek, bellek yönetimi konusunda bilinçli bir yaklaşım benimsemek için önemlidir. Bu, C++ dilinde Nesne Yönelimli Programlama kullanırken, programın güvenli, doğru ve verimli bir şekilde çalışmasına yardımcı olacaktır.
Yöntemler
Yöntemler, Nesne Yönelimli Programlama'da, sınıfın davranışlarını yürütür. Sınıfın içinde bulunan fonksiyonlar olarak da bilinirler. Yöntemler, sınıfın verilerine erişebilir ve verileri işleyebilir. İşte, yöntemleri yazmak için bazı adımlar:
- Yöntem, sınıf içinde tanımlanmalıdır.
- Yöntemin kimliği, geri dönüş değeri, parametreleri ve işlevleri belirtilmelidir.
- Yöntemin gövdesi ayrıca tanımlanmalıdır.
- Yöntem, sınıfın dışındaki kod tarafından çağrılabilir.
Yöntem oluştururken, farklı erişim düzeyleri için belirli kodlar yazabilirsiniz. Sınıfın herhangi bir yerinden erişilebilen erişim düzeyini sağlamak için "public" anahtar kelimesi kullanılır. "Private" anahtar kelimesi, sınıfın sadece kendisi tarafından erişilebilen bir yöntem tanımlar. "Protected" anahtar kelimesi, sınıfın kendisi veya miras alan sınıflar tarafından erişilebilen bir yöntemi gösterir.
Ayrıca, C++ dilinde sanal yöntemler de kullanılabilir. Sanal yöntemler, sınıfın alt sınıfları tarafından ezilebilecek yöntemlerdir. Ezilmiş yöntem, alt sınıfın sınıf tanımında yeniden tanımlanır ve kullanılır. Sanal yöntemler, çok biçimlilik özelliğini sağlamak için kullanılır.
Bu adımların dışında, yöntemleri kullanırkenki en önemli faktörlerden biri, yöntemlerin nasıl çağrılacağıdır. Yöntem çağrıları, nesne adı ile birlikte veya ok işareti ile birleştirilerek yapılabilir. Ok işareti, bir nesnenin yöntemlerine erişmek için kullanılan işarettir. Nesne adı, bir nesnenin yöntemlerine doğrudan erişmek için kullanılabilir.
Sanal Yöntemler
Sanal yöntemler, Nesne Yönelimli Programlama'nın önemli bir parçasıdır ve C++ dilinde oldukça yaygındır. Sanal yöntemler, bir ana sınıfta tanımlanan bir yöntemin, alt sınıflardan biri tarafından yeniden tanımlanarak ezilebilmesini sağlayan bir mekanizmadır. Bu özellik, C++'ın Nesne Yönelimli Programlama'daki esnekliğini vurgulamaktadır.
Sanal yöntemlerin önemi, programlamada polimorfizm kavramı ile ilişkilidir. Polimorfizm, bir nesnenin farklı tiplerden oluşabileceğini, bu tiplerin farklı davranışlar sergileyebileceğini ve işlevlerin yüklenmesi sırasında hangi işlevin kullanılacağına karar vermeye olanak tanıyan bir mekanizmadır.
Sanal yöntemler, alt sınıflardaki işlevlerin farklılık göstermesini sağlayarak, kalıtım yapısındaki bir nesnenin davranışını değiştirirler. C++ programlama dilinde, sanal yöntemlerin tanımlanması "virtual" anahtar kelimesi ile yapılır.
Bir sınıfın sanal yöntemi, ana sınıfta tanımlanabilir. Ancak alt sınıfta, işlevin yeniden tanımlanması durumunda, alt sınıf yöntemi, sanal işlev tarafından tanımlandığından, ezilen işlev olarak kabul edilir ve geçerlidir.
Sanal yöntemlerin kullanımı, programcıya esneklik sağlar. Yöntem, sınıfların daha yüksek seviyelerdeki bir tasarım ve uygulama esnekliği kazanmasına izin verir. Bu, kod yeniden kullanımının daha yüksek bir seviyesini sağlar.
Temel Erişim Kontrolü
Programlamada erişim kontrolü, sınıflarda, nesnelerde veya yöntemlerde belirli bir özellik veya işlemin hangi kullanıcılar tarafından kullanılabileceğini belirleyen bir mekanizmadır.
C++ dilinde erişim kontrolü, sınıfın veri üyeleri ve işlevleri gibi öğelere erişimi kontrol etmek için kullanılır. Bu, uygulamaların güvenli ve doğru bir şekilde çalışmasını sağlamak için önemlidir. C++ dilinde üç farklı erişim kontrol seviyesi vardır:
- Genel: Bu tür erişim, herhangi bir yerde erişilebilir olan en düşük seviyedir. Sınıfın tüm üyeleri varsayılan olarak genel erişim kontrolüne sahiptir.
- Korumalı: Bu tür erişim, aynı sınıf veya sınıfın türetilmiş sınıflarından erişilebilir demektir. Korumalı erişim kontrolü, bir alt çizgi ile işaretlenir.
- Özel: Bu tür erişim, yalnızca sınıfın kendisinden erişilebilen en sıkı erişim kontrol seviyesidir. Özel erişim kontrolü, iki alt çizgi ile işaretlenir.
Erişim kontrolü, bir C++ sınıfının bir üyesi olarak tanımlanır. Bir üye değişkeni ya da üye fonksiyonu, herhangi bir erişim kontrolü etiketi ile başlatılabilir. Böylece programdaki değişkenler ve işlevler, erişim kontrolü tanıtımdan sonra yalnızca sınıfın tanımlandığı sınıfın içinde kullanılabilir.
C++ Dilinde Nesne Yönelimli Programlama Örnekleri
C++ dilinde Nesne Yönelimli Programlama, kavramları anlamak ve uygulamak için örneklerle desteklenmelidir. Bu örnekler, programlama becerilerinizin geliştirilmesine ve oyuncu olmanıza yardımcı olabilir.
Öncelikle, sınıfların nasıl tanımlandığını ve kullanıldığını anlamak için bir örnek ele alalım. Aşağıdaki örnekte, bir Çalışan sınıfı tanımlanmakta ve iki adet çalışan örneği oluşturulmaktadır.
Çalışan Sınıfı Örneği |
---|
class Çalışan { public: std::string isim; int yaş; int maaş;}; |
Yukarıdaki örnekte, Çalışan sınıfında isim, yaş ve maaş gibi veri üyeleri tanımlanmaktadır. Daha sonra, bu sınıftan iki adet örnek oluşturulmaktadır. Bu örneklerin isim, yaş ve maaş değerleri atanır ve std::cout kullanılarak bilgileri ekrana yazdırılır.
Ayrıca, Nesne Yönelimli Programlama'nın diğer anahtar kavramları olan kalıtım ve çok biçimlilik de örneklerle pekiştirilebilir. Aşağıdaki örneklerde, Hayvan sınıfından türeyen Kedi ve Köpek sınıfları tanımlanmaktadır. Her sınıfın kendi konuş() yöntemi vardır ve bu yöntemlerin nasıl çağrıldığı gösterilmektedir.
Kalıtım ve Çok Biçimlilik Örnekleri |
---|
class Hayvan { public: virtual void konuş() { std::cout << "Hayvan konuşuyor." << std::endl; }}; |
Yukarıdaki örnekte, Hayvan sınıfından türeyen Kedi ve Köpek sınıfları tanımlanmaktadır. Konuş() yöntemi, her sınıf için farklı tanımlanmaktadır. Daha sonra, Hayvan türünden bir gösterici tanımlanır ve bu gösterici, önce Kedi daha sonra Köpek sınıfının yöntemini çağırır.
Bu örnekler, Nesne Yönelimli Programlama öğrenirken öğrenilen kavramların anlaşılmasına yardımcı olabilir. Kendi örneklerinizi oluşturabilir ve C++ dilinde Nesne Yönelimli Programlama'nın doğru bir şekilde uygulanması için ihtiyaç duyduğunuz becerileri kazanabilirsiniz.