İçeriğe geç

Javascript sınıf tanımlama

Merhaba, daha önce ES6 standartlarını anlattığım içerikte bahsettiğim class yapısını biraz daha geniş bir çerçeveden ele almak istedim.

Yeni bir sınıf yaratmak

Javascript üzerinde bir sınıfı unnamed(isimsiz) veya named(isimli) olarak tanımlayabiliriz.

var nesne=class {
    constructor(){
        this.plaka='41 AAS 862';
    }
}

//Kullanım şekli
new nesne();
class arabalar{
     constructor(){
        this.plaka='41 AAS 862';
    }
}

//Sınıf çağırılışı

new arabalar();

Yukarıda ki örneklerde göreceğiniz üzere temel fark sınıf yapısında bir isim olmaması. İsim olmayan sınıfımızı çağırabilmek için onu bir değişkene eşitledik.

Constructor(yapıcı metod)

Yukarıda ki örneklerde kullandığımız metod örnek verilebilir. Constructor metodu sınıf çağrıldığında ilk çalışan metoddur.

Static metod oluşturmak

Her OOP destekleyen dilde olduğu gibi javascript dili de static metodlar oluşturmaya izin veriyor. Static metodların kullanım amacı sınıfın bir örneğini oluşturmadan(yani çağırmadan) direk kullanıma imkan tanımasıdır. Static metodlar sadece bir sınıf içinde tanımlanabilirler.

class arabalar {
    static InsertPlaka(plaka){
        return plaka+' - Plaka kodunuz budur.';
    }
}

//Kullanım şekli.

arabalar.InsertPlaka('41 AAR 9287');

gördüğünüz üzere sınıfımızı tanımlamadan direk metodu kullanabilmekteyiz.

Metod tanımlama

Sınıf içinde bir metod tanımlamanın temel farkı function ön ekini sınıflar içinde kullanmamıza gerek olmamasıdır. Hemen örneklendirelim.

class arabalar{
     constructor(){
        this.plaka='41 AAS 862';
    }
    
    plakam(){
        return this.plaka;
    }
}

var araba=new arabalar();
araba.plakam();

Extends anahtarı ve super metodu

Hemen hemen her dilde bir sınıfı geliştirmek için extends anahtarını kullanırız. Extends iki sınıfı bir biri ile birleştirmemizi sağlar.

class plaka{
    constructor(plaka){
        this.plaka=plaka+'- Plakanız bu şekildedir.';
    }
    plakamiYaz(){
        return this.plaka;
    }
}

class araba extends plaka {
    constructor(plaka){
        super(plaka);
    }
}
var aracim=new araba('41 AAR 9827');
aracim.plakamiYaz();

Yukarıda ki örnekte iki farklı sınıf tanımladık ve bu iki sınıfı extends kullanarak birleştirdik. araba sınıfının yapıcı metodu içinde gördüğünüz super(); metodunu kullanarak onun kapsayıcı sınıfı(parent) olan plaka sınıfının yapıcı metoduna aldığım parametreyi gönderdik. Sonrasında ise plaka sınıfında bulunan plakamiYaz metodunu çağırdık.

 

 

 

 

 

2 Yorum

  1. berat berat

    hocam iletişim bilgilerini bulamadım. bi whatsappten yazabilir misin. 05074851408

    • boraozercom boraozercom

      instagram.com/bora.js üzerinden ulaşabilirsiniz

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir