C++/S3/Soyut Sınıflar
|
Bir programlama dili kitabı |
Nesne |
|
Bu şablonu düzenle |
Sınıfa Başlarken
değiştirC++ sınıflarına kadar C/C++ başlangıç konularını hallettiyseniz bundan sonra karşınıza yepyeni bir dünya diyebileceğimiz sınıflara sıra gelmiştir. Sınıf olaylarını anladığınızda birçok yazacağınız kod gruplarını tekrar kullanabilecek veya yazılmış olanları çağırarak hızlı bir şekilde programınızı tamamlayabileceksiniz. Zaten C++'a başlarken sınıflar ile ilgili birçok şey duymuşsunuzdur. Velhasılı öğrenince anlarsınız.
Sınıf yazmak
değiştirclass deneme { public: private: protected: }
public → Bu aralığa fonksiyonlarımızı ve değişkenlerimizi tanımlaya biliriz. Yetki sınırı yoktur. Yazım için aşağıdaki örneğe bakın:
class deneme{ public: int x,y; deneme() //yapıcı { x =y= 0; } ~deneme() //yıkıcı { } int ekle() { return x+y; }};
Dikkat ettiyseniz yapıcı ve yıkıcı olarak isimlendirdiğimiz iki kısım görülmektedir. Yapıcı değişkenlerimize ilkdeğer atamsı yapmak için vardır. Yazdığınız sınıflarda ilk değer atamsı yapmanız derledikten sonra hızlı bir şekilde çalışmasını sağlar. Bu ilk değer atamsı yapılmazsa bilgisayar kendisi ilk değer atamsı yapmaya çalışacaktır ve istenmeye sonuçlar elde edilebilir. Yıkıcı ise sınıfın kullanıp ihtiyaç bittikten sonra bellek boşaltımı için çağrılır.
class deneme{ public: deneme(); //yapıcı int' ekle(int',int); }; int deneme::ekle(int a,int b) { return x+y; }
Üstte yine aynı sınıfı yazdım fakat bir farkla fonksiyonu dışarı çıkardım ve dikkat ettiyseniz deneme::ekle() şeklimde yazdım bu yazılan fonksiyonun hangi sınıftan geldiğini belirtir. Böyle bir gösterimi anlatmamın nedeni dll ve *.h kütüphaneleri yazımı genelde sınıfları ve fonksiyonları ayrı bir şekilde olmasıdır.
private: → Sınıfın korumalı bölümü diyebiliriz. private altında belirtilen değişken ve fonksiyonlara public'te belirtilen fonksiyonlar ile çağrılıp işlenebilir. Fakat direkt olarak erişimi sağlanamaz. En az yetki prensibi için kullanılabilir. Böylelikle güvenlik açıklarına engel olabilirsiniz.
protected: →