JS Sınıf Mirası nedir?

JS Sınıf Mirası, bir sınıftan diğer sınıflara özelliklerin ve metodların aktarılması işlemidir. Bu, bir sınıfın özelliklerini ve metodlarını başka bir sınıfa kopyalamak veya genişletmek için kullanılır. Miras alınan sınıfa “üst sınıf” veya “ebeveyn sınıf” denir, miras alan sınıfa ise “alt sınıf” veya “çocuk sınıf” denir.

JS Sınıf Mirası, yazılım geliştirme sürecinde büyük avantajlar sağlar. Bir kez bir sınıf tanımlandığında, bu sınıfın özellikleri ve metodları diğer sınıflarda yeniden yazmanıza gerek kalmaz. Böylece, kodunuzda tekrar kullanılabilirlik ve sürdürülebilirlik sağlanır. Ayrıca, miras alınan sınıfta yapılan güncellemeler otomatik olarak miras alan sınıflara da yansır, dolayısıyla kodunuz daha kolay yönetilebilir hale gelir.

Sınıf mirası nasıl oluşturulur?

Sınıf mirası, JavaScript programlamada çok önemli bir konudur. Sınıf mirası, bir sınıfın (üst sınıf) özelliklerini ve metotlarını başka bir sınıfa (alt sınıf) aktarma sürecidir. Bu sayede alt sınıf, üst sınıfın özelliklerini ve metotlarını miras alır ve bunları kullanabilir. Sınıf mirası, kodun daha organize ve sürdürülebilir olmasını sağlar.

Sınıf mirasını oluşturmak için extends anahtar kelimesi kullanılır. Extend anahtar kelimesi ile alt sınıfın, üst sınıftan miras almasını sağlayabiliriz. Örneğin, bir “Araba” sınıfımız var ve bu sınıfta “marka” ve “model” özellikleri bulunuyor. Şimdi yeni bir “SporAraba” sınıfı oluşturmak istiyoruz ve bu sınıfın da “Araba” sınıfının özelliklerini kullanmasını istiyoruz. İşte bu durumda sınıf mirası devreye girer.

Bu mirası gerçekleştirmek için aşağıdaki gibi bir extends ifadesi kullanabiliriz:

Üst Sınıf (Araba) Alt Sınıf (SporAraba)
class Araba {‘{‘} class SporAraba extends Araba {‘{‘}
constructor(marka, model) {‘{‘} constructor(marka, model, hiz) {‘{‘}
this.marka = marka; this.hiz = hiz;
this.model = model; {‘}’}
{‘}’} {‘}’}
  • Üst Sınıf (Araba): Araba sınıfı, genel bir araba nesnesini temsil eder. Marka ve model özelliklerine sahiptir.
  • Alt Sınıf (SporAraba): SporAraba sınıfı, Araba sınıfından miras alır ve buna ek olarak “hız” özelliğine sahiptir. Yani SporAraba sınıfı, Araba sınıfının özelliklerini ve metotlarını kullanabilir ve aynı zamanda kendi özel özelliklerini ekleyebilir.

Sınıf mirası, JavaScript’te kodun tekrarını önleyerek daha temiz ve daha az hata yapmanızı sağlar. Bunun yanı sıra, daha sürdürülebilir ve genişletilebilir bir kod tabanı oluşturmanıza yardımcı olur. Sınıf mirası sayesinde aynı zamanda kodunuz daha anlaşılır ve okunabilir hale gelir.

Mirasa bir özellik eklemek

JavaScript’te sınıf mirası kullanarak nasıl bir özellik ekleyebiliriz? Sınıf mirası, bir sınıfın başka bir sınıftan özelliklerini ve davranışlarını alabilmesini sağlar. Bu sayede kod tekrarını azaltarak daha düzenli ve okunabilir bir yapı oluşturabiliriz. Mirasa bir özellik eklemek için ise aşağıdaki adımları takip edebiliriz.

İlk olarak, özelleştirmek istediğimiz sınıfı ve eklenecek özelliğin adını belirlemeliyiz. Ardından, extends anahtar kelimesi kullanarak miras alacağımız sınıfı belirtmeliyiz. Böylece yeni sınıfımız, miras aldığı sınıfın tüm özelliklerine ve davranışlarına sahip olur. Mirasa eklemek istediğimiz özelliği, yeni sınıfın içinde tanımlayabiliriz.

Örneğin, bir Araba sınıfı olduğunu düşünelim ve bu sınıfa “hız” özelliği eklemek istiyoruz. İlk olarak Araba sınıfını oluştururuz:

JavaScript Kodu
class Araba {
constructor(marka, model) {
this.marka = marka;
this.model = model;
}
}

Daha sonra miras alacağımız sınıfı belirtmek için extends anahtar kelimesini kullanırız. Bu örnekte miras alacağımız sınıf, Araba sınıfı olduğu için extends Araba şeklinde belirtiyoruz. Son olarak, mirasa eklemek istediğimiz “hız” özelliğini tanımlarız:

JavaScript Kodu
class YarışArabası extends Araba {
constructor(marka, model, hız) {
super(marka, model); // Miras aldığımız sınıfın constructor’ını çağırır
this.hız = hız;
}
}

YarışArabası sınıfı, Araba sınıfının tüm özelliklerine sahiptir ve ayrıca “hız” özelliği de eklenmiştir. Artık YarışArabası sınıfından türetilen bir nesne oluşturduğumuzda, hem Araba sınıfının özelliklerine erişebiliriz hem de “hız” özelliğine sahip olabiliriz.

Mirasa bir metod eklemek

JavaScript’te sınıf mirası, bir sınıftan diğerine özelliklerin ve metodların aktarılmasıdır. Bu, kodun tekrar kullanılabilirliğini artırır ve programcılara daha düzenli ve organize bir kod tabanı oluşturma imkanı sağlar. Mirasa bir metod eklemek, mevcut bir sınıfa yeni bir fonksiyonality eklemek için kullanılan bir yöntemdir. Bu, o sınıftaki tüm alt sınıfların da yeni metoda erişebilmesini sağlar.

Mirasa bir metod eklemek için öncelikle mevcut bir sınıf tanımlamalısınız. Ardından, miras almak istediğiniz sınıfı tanımlayabilirsiniz. Bunun için extends anahtar kelimesini kullanabilirsiniz. Örneğin, aşağıdaki kod parçacığında “Person” adında bir sınıf tanımlanmış ve “Student” adında bir sınıf daha tanımlanarak “Person” sınıfını miras almıştır:

“`html

class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}

class Student extends Person {
constructor(name, age, grade) {
super(name, age);
this.grade = grade;
}

getGrade() {
return this.grade;
}
}

“`

Bu örnekte, “Student” sınıfına getGrade adında yeni bir metod eklenmiştir. Bu metod, “Student” sınıfının tüm alt sınıflarında kullanılabilir hale gelmiştir. Yani, “Student” sınıfının bir örneği olan “student1” üzerinden student1.getGrade() şeklinde çağrılabilir.

Sınıf mirası ve mirasa metod ekleme, JavaScript’te kodun daha modüler ve genişletilebilir olmasını sağlar. Bu sayede programlamada tekrar kullanım ve kodun daha düzenli tutulması kolaylaşır. Ancak, mirasın doğru ve uygun şekilde kullanılması önemlidir. Gereksiz miras almak veya fazla sayıda katmanlı miras yapısı oluşturmak, kodun karmaşıklaşmasına neden olabilir. Bu nedenle, miras kullanımında dikkatli olunmalı ve ihtiyaçlara uygun bir yapı oluşturulmalıdır.

Mirasa bir constructor eklemek

JavaScript’te sınıf mirası, bir sınıfın özelliklerinin veya davranışlarının başka bir sınıfa aktarılmasıdır. Böylece, bir sınıfın özelliklerini veya yöntemlerini başka bir sınıfa veya alt sınıfa geçirebilir ve tekrar kullanabiliriz. Miras mekanizması, kodun tekrar kullanılabilirliğini artırır ve programlama sürecini daha verimli hale getirir.

Sınıf mirası oluşturmak için JavaScript’te baz sınıfı ve türetilmiş sınıfı tanımlarız. Türetilmiş sınıf, baz sınıfın özelliklerini ve yöntemlerini miras alır. Ancak baz sınıfa, türetilmiş sınıfta ekstra özellikler veya yöntemler eklemek istiyoruz. Bunu yapmak için mirasa bir constructor eklemek gerekmektedir.

Bir constructor, bir sınıfın bir örneğinin oluşturulması sırasında çalışan bir özel bir yöntemdir. Miras alınan bir sınıfa constructor eklemek, türetilmiş sınıfın özelliklerini başlangıç değerleriyle ayarlamamızı sağlar. Böylece, türetilmiş sınıfın özelliklerini, hem miras aldığından hem de kendi constructor’ından gelen değerlerle kullanabiliriz.

Liste ve Tablo:

Aşağıda, JavaScript’te mirasa bir constructor eklemek için adım adım bir örnek:

  1. Bir BazSınıf oluşturun:
  2. class BazSinif {
    constructor(bazOzellik) {
    this.bazOzellik = bazOzellik;
    }
    bazMetod() {
    console.log(“Baz metodu çalışıyor.”);
    }
    }

  3. Bir TuretilmisSinif oluşturun ve BazSınıf’ı miras alın:
  4. class TuretilmisSinif extends BazSinif {
    constructor(bazOzellik, turetilmisOzellik) {
    super(bazOzellik);
    this.turetilmisOzellik = turetilmisOzellik;
    }
    turetilmisMetod() {
    console.log(“Türetilmiş metodu çalışıyor.”);
    }
    }

Durum Konsol Çıktısı

const turetilmisSinifOrnek = new TuretilmisSinif(“bazOzellik degeri”, “turetilmisOzellik degeri”);
turetilmisSinifOrnek.bazMetod();
turetilmisSinifOrnek.turetilmisMetod();
console.log(turetilmisSinifOrnek.bazOzellik);
console.log(turetilmisSinifOrnek.turetilmisOzellik);

“Baz metodu çalışıyor.”
“Türetilmiş metodu çalışıyor.”
“bazOzellik degeri”
“turetilmisOzellik degeri”

Alt sınıfa erişmek ve değiştirmek

Alt sınıfa erişmek ve değiştirmek, JavaScript sınıf mirasının önemli bir konusudur. Miras aldığımız bir sınıfın içeriğini alt sınıflarda kullanmak ve üzerinde değişiklik yapmak, programlama dilinde büyük bir esneklik sağlar. Bu blog yazısında, alt sınıflara nasıl erişileceğini ve nasıl değiştirileceğini öğreneceksiniz.

JavaScript’te bir sınıftan türetilmiş bir alt sınıfa erişmek için extends anahtar kelimesi kullanılır. Alt sınıf, türetilmiş olduğu ana sınıfın özelliklerini ve metodlarını miras alır. Bu sayede, alt sınıf, türetilmiş olduğu ana sınıfın içeriğine erişebilir ve üzerinde değişiklik yapabilir.

Liste ve tablo HTML etiketlerini kullanarak alt sınıfa erişmek ve değiştirmek işlemini daha iyi anlayabiliriz:

  • Ana sınıfın özelliklerini ve metodlarını miras almak için: extends anahtar kelimesini kullanın.
  • Alt sınıfın ana sınıfın metodlarını değiştirmek veya üzerine eklemek için: super anahtar kelimesini kullanın.
  • Alt sınıfta yeni bir özellik veya metod eklemek için: normal şekilde tanımlama yapın.
Ana Sınıf Alt Sınıf
class AnaSinif {
constructor(ozellik) {
this.ozellik = ozellik;
}
metod() {
return “Ana sınıfın metodu”;
}
}
class AltSinif extends AnaSinif {
constructor(ozellik) {
super(ozellik);
}
metod() {
return “Alt sınıfın metodundan: ” + super.metod();
}
yeniMetod() {
return “Alt sınıfa ait yeni bir metod”;
}
}

Mirasa ulaşılabilirlik kontrolü

Mirasa ulaşılabilirlik kontrolü, bir sınıfın miras aldığı öğelere nasıl erişebileceğini ve bunları nasıl değiştirebileceğini belirleyen bir konudur. Miras aldığımız bir sınıfın özelliklerine erişmek veya bu özellikleri değiştirmek istediğimizde, bazı durumlarda kısıtlamalarla karşılaşabiliriz. Bu durumda, miras aldığımız sınıfın erişilebilirlik belirteçlerini kullanarak ne kadarına erişebileceğimizi kontrol edebiliriz.

Erişilebilirlik belirteçleri, öğelerin sınıf içinde ne kadarına erişilebileceğini belirler. Bu belirteçler, öğelerin başına eklenen anahtar kelimelerdir ve her bir öğenin nasıl erişileceğini belirtir. Erişilebilirlik belirteçleri, genel olarak public, private ve protected olmak üzere üç farklı şekilde kullanılır.

– Public erişilebilirlik belirteci, öğenin sınıf içinde ve dışında her yerden erişilebilir olduğunu belirtir. Yani, miras aldığımız sınıfın alt sınıfları dahil olmak üzere her yerden bu öğelere erişilebilir ve değiştirilebiliriz.

Sık Sorulan Sorular

JS Sınıf Mirası nedir?

JS sınıf mirası, bir sınıfın başka bir sınıftan özelliklerini ve metodlarını kalıtım alması anlamına gelir. Miras alan sınıf, miras veren sınıfın özelliklerini ve metodlarını kullanabilir ve bunları istediği gibi değiştirebilir.

Sınıf mirası nasıl oluşturulur?

Sınıf mirası oluşturmak için `extends` anahtar kelimesi kullanılır. Miras almak istediğimiz sınıfı `extends` anahtar kelimesinin hemen ardından belirtiriz.

Mirasa bir özellik eklemek

Bir sınıfa miras alınan sınıftan bir özellik eklemek için `super` anahtar kelimesini kullanabiliriz. `super` anahtar kelimesi, miras alınan sınıfın constructor veya metodu içinde kullanıldığında, miras veren sınıfın aynı isimli özelliğine erişim sağlar.

Mirasa bir metod eklemek

Bir sınıfa miras alınan sınıftan bir metod eklemek için, miras alan sınıfın prototipine yeni bir metod eklememiz yeterlidir. Bu yeni metod, miras alınan sınıftaki metodlara erişebilir ve istenildiği gibi değiştirilebilir.

Mirasa bir constructor eklemek

Miras alan sınıfa bir constructor eklemek için, `constructor` anahtar kelimesiyle bir fonksiyon tanımlanır ve bu fonksiyonun içine `super` anahtar kelimesi kullanarak miras alınan sınıfın özelliklerine erişebiliriz. Böylece miras alan sınıfın kendi constructor’ı oluşturulabilir.

Alt sınıfa erişmek ve değiştirmek

Alt sınıfa erişmek ve değiştirmek için, miras alan sınıf içinde `super` anahtar kelimesi kullanarak miras alınan sınıfın özelliklerine ve metodlarına erişebiliriz. Bu sayede istediğimiz özelliği veya metodu değiştirebilir veya kullanabiliriz.

Mirasa ulaşılabilirlik kontrolü

Miras alınan sınıftaki özellikler veya metodlar, varsayılan olarak miras alan sınıfa da aktarılır ve ulaşılabilir olurlar. Ancak, özellikler veya metodlar özel (private) olarak tanımlanmışsa, miras alan sınıf bu özelliklere veya metodlara erişemez. Bu durumda özelliklerin veya metodların ulaşılabilirlik ayarlarını değiştirerek mirasa erişimi kontrol edebiliriz.

Yorumlar Devre Dışı Bırakıldı!