Kapsülleme (Encapsulation) C# Ders 56

Kapsülleme (Encapsulation) C#

Daha fazla bilgi için : www.gorselprogramlama.com

Kapsülleme (Encapsulation): Verilerin ve kodların dış etkenlerden korumaktır.

Özellikleri:

* Bir nesnenin dış dünyadan soyutlanıp iç dünyasında işlem yapması

* Başka kod ve sınıflar tarafından kulanılmaması için koruyucu bariyer görevi görür.

*Kodları erişilmez hale getirir.

*Nesne tabanlı programlamanın temel ilkelerinden birisidir.

Not : Class içinde bir değişkene ulaşılmaması için private olarak tanımlamalsınız.

Örnek: Karenin alanı hesaplayan class içinde bir metot hazırlayalım.Kenarı classa gönderdikten sonra kapsülleyip o şekilde kullanalım.

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace kapsulleme2

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

} //Daha fazla bilgi için : www.gorselprogramlama.com

private void button1_Click(object sender, EventArgs e)

{

Kare k = new Kare();

label1.Text = k.alan(int.Parse(textBox1.Text)).ToString();

}

}

}

class Kare

{

private int sonuc, kenar;

public int alan(int a)

{

kenar = a;

sonuc = kenar* kenar;

return sonuc;

} //Daha fazla bilgi için : www.gorselprogramlama.com

}

[/code]

class içinde tanımlanan sonuc ve kenar değişkenleri private tanımlandığı için dışarıdan bu değişkenlere erişilmez.

Örnek: Diktdörtgenin alanı hesaplayan class içinde bir metot hazırlayalım.Kenarları classa gönderdikten sonra kapsülleyip o şekilde kullanalım.

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace kapsulleme2

{

public partial class Form1 : Form

{ //Daha fazla bilgi için : www.gorselprogramlama.com

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

Dikdortgen d = new Dikdortgen();

label1.Text = d.alan(int.Parse(textBox1.Text), int.Parse(textBox2.Text)).ToString();

}

}

}

class Dikdortgen

{

private int sonuc, kkenar,ukenar;

public int alan(int a,int b)

{ //Daha fazla bilgi için : www.gorselprogramlama.com

kkenar = a;

ukenar = b;

sonuc = kkenar* ukenar;

return sonuc;

}

}

[/code]

Örnek : Kapsülleme işlemi get- set deyimleri kullanılırkende yapılabilir.

[code lang=”csharp”]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace kapsulleme2

{ //Daha fazla bilgi için : www.gorselprogramlama.com

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{ ////Daha fazla bilgi için : www.gorselprogramlama.com

Dikdortgen d = new Dikdortgen();

d.kisaKenar=int.Parse(textBox1.Text);

d.uzunKenar = int.Parse(textBox2.Text);

label1.Text = d.alan().ToString();

}

}

}

class Dikdortgen

{

private int kkenar;

public int kisaKenar

{

set { kkenar = value; }

get { return kkenar; }

}

private int ukenar;

public int uzunKenar

{

set { ukenar= value; }

get { return ukenar; }

}

private int araIslem()

{

int sonuc, a, b;

a = kkenar;

b = ukenar;

sonuc = a * b;

return sonuc;

}

public int alan()

{

return araIslem();

} //Daha fazla bilgi için : www.gorselprogramlama.com

}

[/code]

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir