JavaScript ile OOP – 1

5 Şubat 2014
Posted by Çağatay Yıldız
3391 Views

Bu yazımızda Java Script kullanarak OOP yaklaşımına dair örnekler vereceğiz. Js ile OOP da kendi objelerimiz kullanabileceğimiz gibi önceden tanımlanmış objelerdeki metotları da kullanabiliriz. Örneğin Math sınıfında bulunan Random metodunu şu şekilde kullanabiliriz.

<script>
    alert(Math.random())
</script>

Bu gibi sınıflar ve metotlarının açıklamaları için linke göz atabilirsiniz.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects?redirectlocale=en-US&redirectslug=JavaScript%2FReference%2FGlobal_Objects

Şimdi ise java script ile kendi objemizi nasıl yaratırız ona göz atalım. Örneğin bir insan objesi oluşturup özelliklerine ad ve cinsiyet ekleyeceğiz. Java script ile bunu yapmamızın birden fazla yolu mevcut.

<script>
    Insan = new Object()
    {
        Insan.Ad = "Çağatay",
        Insan.Cinsiyet = "Erkek"
    }

   alert(Insan.Ad + " " + Insan.Cinsiyet)
<script>

Yukarıdaki scriptte de görüldüğü gibi objemizi tanımlayıp propertie lerine atamaları yapıyoruz. Bu yapının kullanımı oldukça esnek. Atama yaptığımız özellikleri dilediğimiz gibi kullanabiliriz. Bu yapıya alternatif bir diğer syntax kullanımı ise şu şekilde

<script>
    Insan = {Ad : "Çağatay", Cinsiyet:"Erkek"}

    alert(Insan.Ad + " " + Insan.Cinsiyet)
</script>

Yukarıda bulunan yapılarda kendimiz instance alıp aynı anda atamaları gerçekleştirdik. Nesneyi oluşturup aynı c# da olduğu gibi oluşturduğumuz nesneyi çağırdığımızda properties lerine default atamalar da gerçekleştirebiliriz. Aşağıdaki örneği inceleyebilirsiniz.

<script>
    function Insan()
    {
        this.Ad = "Çağatay",
        this.Cinsiyet = "Erkek"
    }
    var ins = new Insan();
    alert(ins.Ad + " " + ins.Cinsiyet)
</script>

Görüldüğü gibi this.Ad kullanarak ad properties hem oluşturup hem de çağırıldığında atamasını gerçekleştirdik böylelikle bu nesnemizden instance alındığında atadğımız değer çalışacaktır. Dilersek oluşturduğumuz ins objesine normal atamamızı yapıp “Çağatay” değişkenini override edebiliriz.
Kendi nesnemizi oluşturup atama yapmamız bu şekilde bir sonraki yazımızda constructor metoto nasıl oluşturulur? OOP temellerini(inheritance, polymorphism, encapsulation) js ile nasıl oluşturabiliriz onu inceleyeceğiz