Full Download - FullyDown Forum


FORUMUMUZA ÜYE OLARAK KENDİ PVP SERVER ADRESİNİZİ PAYLAŞABİLİR YA DA FORUMDAKİ MEVCUT PAYLAŞILMIŞ PVP ADRESLERİ GÖREBİLİRSİNİZ...

SADECE FORUM ÜYELERİ LİNKLERİ GÖREBİLİR
FORUM ÜYELERİMİZ MESAJLARA CEVAP ATABİLİR
ÜYELERİMİZ KONU AÇIP SERVERLARINITANITABLİR
Full Download - FullyDown Forum


FORUMUMUZA ÜYE OLARAK KENDİ PVP SERVER ADRESİNİZİ PAYLAŞABİLİR YA DA FORUMDAKİ MEVCUT PAYLAŞILMIŞ PVP ADRESLERİ GÖREBİLİRSİNİZ...

SADECE FORUM ÜYELERİ LİNKLERİ GÖREBİLİR
FORUM ÜYELERİMİZ MESAJLARA CEVAP ATABİLİR
ÜYELERİMİZ KONU AÇIP SERVERLARINITANITABLİR
Full Download - FullyDown Forum
Would you like to react to this message? Create an account in a few clicks or log in to continue.
Full Download - FullyDown Forum


 
HomeLatest imagesSearchRegisterLog in

 

 Abstract Class ve Methodlar

Go down 
AuthorMessage
Chun Chu
Vip Üye
Vip Üye
Chun Chu


Mesaj Sayısı : 115
308
Rep : 0
Yaş : 32
Nerden : TEKİRDAĞ

Abstract Class ve Methodlar Empty
PostSubject: Abstract Class ve Methodlar   Abstract Class ve Methodlar Puce-p11Sun Mar 28, 2010 10:03 am

Abstract ın türkce karşılığı “soyut” demektir , pekii neden soyut class lara ihtiyaç duyarız ? Abstract ın türkce karşılığı “soyut” demektir , pekii neden soyut class lara ihtiyaç duyarız ? DenemeSurusu3.java örneğini incelersek ; ana class olan Araba.class ının bir birleştirici rol oynadığı görülür . Yani kendinden türeyen tipler için bir ortak arayüzler(methodlar) sağlar . Olaylara bu açıdan bakarsak ana class lara “kukla “ diyebiliriz ve bu ana class ın methodlarının çağrılması bazı durumlarda hata bile oluşturabilir. İstenilen aslında şudur , ana class oluşturmak ve sonra bu ana class dan türemiş class lar türetmek ve türemiş class lara kendilerine has davranışları oluşturmak , override ile .

“Kukla“ class diye tabir edebileceğimiz class ları java da Abstract class olarak tanımlarız . Bir class ın Abstract olabilmesi için metodlarından en az birinin abstract method olması gerekir.

abstract **** sur();

Abstract methodlar kesinlikle türeyen class larda override edilmek zorundadır.
Eğer override edilmez ise compile-time da hata yerseniz .

Abstract Class ve Methodlar Sema5

Yukarıdaki şemayı koda dökelim :

// abstract class ve methodlar
abstract class Araba
{
public abstract **** sur() ;
public **** dur() {
System.out.println("Araba dur");
}
}

class YarisArabasi extends Araba
{
public **** sur() {
System.out.println("YarisArabasi sur");
}

public **** dur() {
System.out.println("YarisArabasi dur");
}

public **** hizYap() {
System.out.println("Hizzzz Yapp");
}
}

class AileArabasi extends Araba {

public **** sur() {
System.out.println("AileArabasi sur");
}

public **** dur() {
System.out.println("AileArabasi dur");
}

public **** konforOlustur() {
System.out.println(" AileArabasi KonforOlustur( )");
}
}


class YukArabasi extends Araba {

public **** sur() {
System.out.println("YukArabasi sur");
}

public **** dur() {
System.out.println("YukArabasi dur");
}

public **** frenABS() {
System.out.println(" YukArabasi frenABS() ");
}
}

class GencArabasi extends AileArabasi
{
public **** sur() {
System.out.println("GencArabasi sur ");
}

public **** kontrolSistemi() {
System.out.println(" GencArabasi kontrolSistemi() ");
}
}

public class DenemeSurusu4 {


public **** hepsiniSur(Araba[] ar) {

for (int i = 0 ; i < ar.length ; i ++ )
{
ar[ i ].sur();
}
}


public static **** main(String args[]) {
DenemeSurusu3 ds3 = new DenemeSurusu3();
Araba[] ara_ar = new Araba[4] ;
int sayac = 0 ;
// Array e eklerken upcasting oluyor
ara_ar[sayac++] = new AileArabasi();
ara_ar[sayac++] = new YarisArabasi();
ara_ar[sayac++] = new YukArabasi();
ara_ar[sayac++] = new GencArabasi();
// ara_ar[sayac++] = new Araba(); !! hata !!
// abstract class lar yaratilamazlar .
ds3.hepsiniSur( ara_ar );
}
}//^



DenemeSurusu3.java ile bu örnek arasındaki tek fark Araba.class ının abstract hale getirilmesi . sur() metodu artik abstract bir method ve Araba tipinden türeyen her yeni tip sur() metodunu override (ezmek) zorundadır.

Araba.class ındaki dur() methodu eski haline korumaktadır ve Araba tipinden dan türeyen diğer tiplerler bu methodu KESİNLİKLE ezmek zorunda değiller ama isterlerse ezebilirler.Buradan şu sonucu çıkarabiliriz ; Abstract class ların içinde en az bir tane abstract method bulunmak zorundadır ve bir class ın abstact olması bu class içersine fonksiyonel method bulunmayacağı anlamına gelmez .

Son olarak da dikkat çekmek istediğim konu , abstract class ların new anahtar kelimesi ile yaratılamamaları.Abstract class lar kesinlikle en az bir tane abstract method (fonkisiyonelitesiz method ) içerdiklerinden dolayı mantıklı bir engelleme .
Back to top Go down
 
Abstract Class ve Methodlar
Back to top 
Page 1 of 1
 Similar topics
-
» Class mt2 p açıcı 1.9t veren npc 84 lwl baslangic

Permissions in this forum:You cannot reply to topics in this forum
Full Download - FullyDown Forum :: Genel Forum :: WebMaster-
Jump to:  


Norton from Symantec
Powered By PhpBB © 2009-2010
www.sanal-turk.com
Günbatımı Theme By ●●мαнмυт●●
•Bu Sitedeki Tüm Görseller Orjinaldir. Yazılı, görsel, herhangi bir malzeme izinsiz kullanılamaz •

Bloglines l Bugünün En Aktif Konuları l Top 20 Aktif Üye Ligi l Bugünün En Aktif üyeleri l İletişim

Free forum hosting | ©phpBB | Free forum support | Report an abuse | Forumotion.com