07 OCAK 2018
PAZAR
23.26
C++ ile OOP - Inheritance (Miras)

Miras (Inheritance), var olan bir sınıftan farklı bir sınıf türeterek, türetilen bu yeni sınıfın ekstra özellikler alabilmesi olayıdır. Temel mantığı anlamak için şöyle bir örnek verebiliriz:

Akıllı telefonlar birçok özellikleri bakımından birbirinden ayrılabilirler. Fakat hepsinin bir temelde birleştirilerek bazı özelliklerinin aynı olduğu kabul edilebilir. Aşağıdaki görselimizi inceleyelim:

Görselde yer alan AkilliTelefon bir ana sınıf olarak temsil edilebilir. Barındırdığı özellikler hem IphoneX adındaki alt sınıfta hem de GalaxyS8 isimli alt sınıfta kullanılıyor. Öyleyse bu özellikleri her iki alt sınıf için yeniden girmek yerine AkilliTelefon sınıfından temin edebiliriz. 

ÖRNEK

Bir fonksiyon oluşturalım ve bu fonksiyonumuz çember ve silindir'in alan, çevre ve hacim bilgilerini hesaplasın.

ÇÖZÜM

class Cember{
	public:
		double r;
		
		Cember(){
			r = 0;
		}
		Cember(double radius) {
			r = radius;
		}
		
		double C_alan(){
			return PI*r*r;
		}
		double C_cevre(){
			return 2*PI*r;
		}
};

class Silindir:Cember{
	public:
		double h;
		
		Silindir(){
			h = 0;
		}
		Silindir(double rad, double height):Cember(rad) {
			h = height;
		}
		
		double S_alan(){
			return h*C_cevre();
		}
		double S_hacim(){
			return h*C_alan();
		}
		
};

int main(){
	Silindir X(5, 10);
	cout << X.S_alan();
}

Birden Fazla Sınıf Dahil Etmek

Inheritance mantığında : ifadesinden sonra birden fazla sınıfı virgül ile ayırarak dahil edebiliriz:

class X{...};
class Y{...};

class Z: class X, class Y {
...
};
YORUMLAR 0
Bu konuya henüz kimse yorum yapmadı.
İlk yorumu sen yapmak ister misin?
YORUM BIRAK
Şuanda bu yoruma cevap yazıyorsunuz:
İptal Et