Mustafa Kemal Üniversitesi Bilgisayar Mühendisliği Bölümü Ders Materyal Ve Notları

Sponsor

25 Şubat 2013 Pazartesi

INTERFACE ( ARAYÜZLER) VE SINIFLAR

Posted by samgar at 21:52 0 Comments


INTERFACE ( ARAYÜZLER) VE SINIFLAR



 
Interface orduya emir veren komutan gibidir.emri verir ama emrin nasıl yapılacağını belirtmez.

Interface (Arayüz) Üyeleri:

1-Özellikler (Properties)

2-Methodlar (Methods)

3-Olaylar (Events)

4-İndexleyiciler (İndexers)





**Arayüzün tüm üyeleri public olarak kabul edilir.

**Arayüz elemanlarını static olarak tanımlayamayız.

**Arayüzlerin uygulandığı sınıflar,arayüzde tanımlanan bütün üyeleri kullanmak zorundadır.


Interface (Arayüz) de Kullanılmayan Üyeler :

1-Yapıcılar (Constructors)

2-Yok Ediciler (Destructors)

3- Alanlar (Fields)



Interface emir
{
void kos();
}
class Class1 : emir
{
public void kos()
{
System.Console.WriteLine(“komutanım emirlerinizi en iyi şekilde yerine getireceğim.emir eliniz ben olacağım.”);
}
}
class Class2 : emir
{
public void kos()
{
System.Console.WriteLine(“komutanım beni görevlendirdiğiniz için teşekkür ederim.Class1 den daha iyi bir emir el olurum.“);
}
}
static void Main(string[] args)//herşey ortaya çıkar:))
{
Class1 x=new Class1();
Class2 y=new Class2();
x.kos();
y.kos();
}


!!Yukarıdaki tanımlamamızda polymorphism kavramı karşımıza çıkıyor.Yani aynı isimdeki 2 metodumuz farklı biçimlerde işleniyor.


PUBLİC VE PRİVATE ERİŞİMİ UYGULAMAK

1- Bir sınıfın yalnızca bu sınıf içerisinde kullanılan üyeleri private olmalıdır.

2- Belirli bir değer aralığında olması gereken veriler private olmalıdır.

3- Bir üye üzerinde yapılan değişiklik,başka üyeleri de etkiliyorsa private olmalıdır.

4- Yanlış kullanıldıklarında bir nesneye zarar verebilen üyeler private olmalıdır.

5- Private verilerin değerlerini alan ve ayarlayan metodlar public olmalıdır.

class Stack
{
//bunlar private üyelerdir.
char [] stck; //yığının temelini oluşturan depolamayı sağlar.
int tos; //yığının en üst tepesinin indexini tutar.

//büyüklüğü bilinen boş bir stack oluşturduk.
public Stack(int size)
{
stck = new char[size]; //yığın için bellek alanı ayrıldı.
tos = 0;
}
public void push(char ch)
{
if(tos ==stck.Length)
{
Console.WriteLine("---Stack is full.");
return;
}
stck[tos] = ch;
tos++;
}

public char pop()
{
if (tos == 0)
{
Console.WriteLine("---Stack is empty.");
return (char) 0;
}
tos--;
return stck[tos];
}

public bool full()
{
return tos ==stck.Length;
}

public bool empty()
{
return tos ==0;
}
public int capacity()
{
return stck.Length;
}
public int getNum()
{
return tos;
}
class StackDemo
{
public static void Main()
{
Stack stk1 = new Stack(10);
Stack stk2 = new Stack(10);
Stack stk3 = new Stack(10);
char ch;
int i;

//stk1 içine birkaç karakter yerleştir.
Console.WriteLine("Push A through Z onto stk1.");
for(i=0;!stk1.full();i++)
stk1.push((char)('A'+i));
if (stk1.full()) Console.WriteLine("stk1 is full.");

//stk1'in içeriğini göster.
Console.WriteLine("Contents of stk1:");
while(!stk1.empty())
{
ch = stk1.pop();
Console.Write(ch);
}
Console.WriteLine();
if(stk1.empty()) Console.WriteLine("stk1 is empty.\n");

//stk1e biraz daha karakter yerleştir.
Console.WriteLine("Again push A through Z onto stk1.");
for(i=0;!stk1.full();i++);

//şimdi stk1den eleman al ve elemanı stk2ye koy.
Console.WriteLine("Now,pop chars from stk1 and push " +
"them onto stk2.");
while(!stk1.empty())
{
ch = stk1.pop();
stk2.push(ch);
}
Console.WriteLine("\n");

//yığına 5 karakter birleştir.
Console.WriteLine("Put 5 characters on stk3.");
for(i=0;i<5;i++)
stk3.push((char) ('A'+i));

Console.WriteLine("Capacity of stk3 :"+stk3.capacity());
Console.WriteLine("Number of objects in stk3:"+
stk3.getNum());
}
}

PROGRAMDA KULLANILAN METODLAR :

push ( ) : yığına eleman yerleştirir.

pop ( ) : yığından eleman çıkartır.

full ( ) : yığın doluyken true, aksi halde false döndürür.

empty ( ) : yığın boşken true , aksi halde false döndürür.

capacity ( ) : yığının toplam kapasitesini gösterir.

get Num ( ) : yığının şu anki eleman sayısını gösterir.



DİĞER METHODLAR :


swap( ) : bu metod 2 argümanı değiş tokuş yapar.

ref : bu parametre referans olarak çağrı oluşturur.
sqr ( ) : bulunduğu yere argümanın karesini döndürür.
out : bu parametre bir metottan dışarıya değer aktarmak için kullanılır.


evet arkadaşlar.size interface tanımını anlatmaya çalıştım umarım yardımcı olabilmişimdir.sorularınız mail adresime gönderebilirsiniz iyi çalışmalar....



Bu Yayını Paylaş

Takipçi Ol

Mail adresinizi kaydedelim ilk sizin haberiniz olsun.

0 yorum:

Sponsor

Yazılarım Korunuyor

Yandex Metrica

Yandex.Metrica

Toplam Sayfa Görüntüleme Sayısı

back to top