Kristal, Ahşap, Bayrak.. Plaket ihtiyaçlarınıza Mükemmel çözümler üretiyoruz.
JavaScript, nesne yönelimli bir programlama dilidir. Bu nedenle, sınıf ve kalıtım konuları, dilin temel özelliklerinden biridir. JavaScript'te, sınıf oluşturma ve kalıtım işlemleri oldukça kolaydır. Bu makalede, JavaScript sınıf ve kalıtım işlemlerine dair tüm detayları ele alacağız.
SINIF OLUŞTURMA
JavaScript'te sınıf oluşturmak için, ES6 sürümünden sonra Çağrılan Fonksiyon (Constructor Function) ve class deyimi kullanmanız gerekiyor. ES6 öncesinde sınıf oluşturmak için genellikle çağrılan fonksiyon kullanılıyordu. Ancak, ES6'da class ifadesi tanıtıldı ve daha kolay bir sınıf oluşturma yöntemi sunuldu.
Çağrılan Fonksiyon İle Sınıf Oluşturma
Çağrılan fonksiyon ile bir sınıf oluşturmak için, aşağıdaki gibi yapabilirsiniz:
```javascript
function Animal(name, type) {
\tthis.name = name;
\tthis.type = type;
}
Animal.prototype.speak = function() {
\tconsole.log(`I am a ${this.type}, and my name is ${this.name}`);
}
const dog = new Animal(Buddy, dog);
dog.speak(); // I am a dog, and my name is Buddy
```
Bu örnekte, Animal adında bir sınıf oluşturduk ve iki özellik ekledik: `name` ve `type`. Ayrıca, Animal sınıfının `speak` metodunu prototype'a ekledik. Bu metod, hayvanların konuşma işlevselliğini yerine getiriyor.
Daha sonra `const` anahtar kelimesi ile `dog` adında bir nesne oluşturduk. Bu nesne, Animal sınıfının bir örneğidir. Son olarak, nesne üzerinde `speak` metodunu çağırdık. Bu şekilde, çağrılan fonksiyon ile sınıf oluşturmayı gerçekleştirdik.
Class Deyimi İle Sınıf Oluşturma
ES6 ile birlikte class deyimi, JavaScript'te sınıf oluşturma işlemini daha kolay hale getirdi. Şimdi, sınıf oluşturmak için aşağıdaki gibi bir görünüme sahip class ifadesini kullanabilirsiniz.
```javascript
class Animal {
\tconstructor(name, type) {
\t\tthis.name = name;
\t\tthis.type = type;
\t}
\t
\tspeak() {
\t\tconsole.log(`I am a ${this.type}, and my name is ${this.name}`);
\t}
}
const dog = new Animal(Buddy, dog);
dog.speak(); // I am a dog, and my name is Buddy
```
Bu örnekte, Animal sınıfına `constructor` adında bir yöntem ekledik. Bu yöntem, sınıf oluşturulduğunda otomatik olarak çağrılır ve sınıfın özelliklerini ayarlar. Ayrıca, sınıfa `speak` metodu ekledik. Bu metot, Animal sınıfının hangi tipte olduğuna göre konuşma işlevselliğini yerine getirir.
Daha sonra yine `const` anahtar kelimesi ile `dog` adlı bir nesne oluşturduk ve sınıfın özelliklerini `constructor` metodu ile ayarladık. Son olarak, nesne üzerinde `speak` metodunu çağırdık. Bu şekilde, class deyimi ile sınıf oluşturmayı gerçekleştirmiş olduk.
KALITIM YÖNTEMLERİ
JavaScript'te kalıtım yapmak için, prototipteki özellikleri miras alarak yeni bir prototip oluşturabilirsiniz. İki kalıtım yöntemi vardır:
1. Prototip Kalıtımı
2. Sınıf Kalıtımı
Prototip Kalıtımı
Prototip kalıtımı, yalnızca `prototype` özelliklerini kullanarak bir nesne oluşturur. Bu kalıtım türünde, alt sınıfın proto'tan miras aldığı özellikleri değiştirebilirsiniz. Bu yöntem, ES5 ve öncesi sürümlerde kullanılabilir.
```javascript
function Animal(name, type) {
\tthis.name = name;
\tthis.type = type;
}
Animal.prototype.speak = function() {
\tconsole.log(`I am a ${this.type}, and my name is ${this.name}`);
}
function Dog(name, type, breed) {
\tAnimal.call(this, name, type);
\tthis.breed = breed;
}
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
Dog.prototype.speak = function() {
\tconsole.log(Woof! I am a + this.type + and my name is + this.name);
}
const myDog = new Dog(Buddy, dog, Golden Retriever);
myDog.speak(); // Woof! I am a dog and my name is Buddy
```
Bu kod bloğunda, `Dog` adında yeni bir sınıf tanımladık. Bu sınıf, diğer özelliklerin yanı sıra `Animal` sınıfından kalıtım yapar. `call` metodunu kullanarak, `Dog` sınıfının `name` ve `type` özellikleri, `Animal` sınıfına aktarılır.
Daha sonra, `Dog` sınıfının prototipine, `Animal` sınıfının prototipini miras alması için `Object.create()` yöntemini kullandık. Ayrıca, `constructor` özelliğini yeniden ataarak hatayı önlemiş olduk.
Son olarak, `Dog` sınıfının prototipine, `speak` yöntemini ekledik. Bu yöntem, `Animal` sınıfından bu sınıfa miras alındı, ancak `Dog` için özelleştirildi.
Sınıf Kalıtımı
Sınıf kalıtımı, ES6 sürümünde tanıtılmıştır ve daha kolay bir kullanım sunar. Sınıf kalıtımı yapmak için, `extends` anahtar kelimesini kullanabilirsiniz.
```javascript
class Animal {
\tconstructor(name, type) {
\t\tthis.name = name;
\t\tthis.type = type;
\t}
\tspeak() {
\t\tconsole.log(`I am a ${this.type}, and my name is ${this.name}`);
\t}
}
class Dog extends Animal {
\tconstructor(name, type, breed) {
\t\tsuper(name, type);
\t\tthis.breed = breed;
\t}
\tspeak() {
\t\tconsole.log(Woof! I am a + this.type + and my name is + this.name);
\t}
}
const myDog = new Dog(Buddy, dog, Golden Retriever);
myDog.speak(); // Woof! I am a dog and my name is Buddy
```
Bu kod bloğunda, `Animal` adında bir sınıf ve `Dog` adında bir alt sınıf oluşturduk. `Dog` sınıfı, `Animal` sınıfını miras alır ve `extends` kelimesi ile belirtilir. `super` anahtar kelimesi ile, `Dog` sınıfının `Animal` sınıfından `name` ve `type` özelliklerini almasını garanti ediyoruz.
Son olarak, `Dog` sınıfına, `speak` metodu ekliyoruz. Bu metot, `Animal` sınıfından miras alır ve `Dog` sınıfı için özelleştirilmiştir.
SONUÇ
JavaScript sınıf ve kalıtım işlemleri oldukça kolay ve esnektir. JavaScript'te, prototip ve sınıf kalıtımı oluşturma yöntemleri kullanılabilir. Sınıf oluşturma için, ES6 sürümünden sonra `class` ifadesi kullanmak önerilir. Kalıtım yapmak istediğinizde, kullanım amacınıza ve kullanılan sürüme bağlı olarak, prototip veya sınıf kalıtımı yöntemlerini seçebilirsiniz.
JavaScript, nesne yönelimli bir programlama dilidir. Bu nedenle, sınıf ve kalıtım konuları, dilin temel özelliklerinden biridir. JavaScript'te, sınıf oluşturma ve kalıtım işlemleri oldukça kolaydır. Bu makalede, JavaScript sınıf ve kalıtım işlemlerine dair tüm detayları ele alacağız.
SINIF OLUŞTURMA
JavaScript'te sınıf oluşturmak için, ES6 sürümünden sonra Çağrılan Fonksiyon (Constructor Function) ve class deyimi kullanmanız gerekiyor. ES6 öncesinde sınıf oluşturmak için genellikle çağrılan fonksiyon kullanılıyordu. Ancak, ES6'da class ifadesi tanıtıldı ve daha kolay bir sınıf oluşturma yöntemi sunuldu.
Çağrılan Fonksiyon İle Sınıf Oluşturma
Çağrılan fonksiyon ile bir sınıf oluşturmak için, aşağıdaki gibi yapabilirsiniz:
```javascript
function Animal(name, type) {
\tthis.name = name;
\tthis.type = type;
}
Animal.prototype.speak = function() {
\tconsole.log(`I am a ${this.type}, and my name is ${this.name}`);
}
const dog = new Animal(Buddy, dog);
dog.speak(); // I am a dog, and my name is Buddy
```
Bu örnekte, Animal adında bir sınıf oluşturduk ve iki özellik ekledik: `name` ve `type`. Ayrıca, Animal sınıfının `speak` metodunu prototype'a ekledik. Bu metod, hayvanların konuşma işlevselliğini yerine getiriyor.
Daha sonra `const` anahtar kelimesi ile `dog` adında bir nesne oluşturduk. Bu nesne, Animal sınıfının bir örneğidir. Son olarak, nesne üzerinde `speak` metodunu çağırdık. Bu şekilde, çağrılan fonksiyon ile sınıf oluşturmayı gerçekleştirdik.
Class Deyimi İle Sınıf Oluşturma
ES6 ile birlikte class deyimi, JavaScript'te sınıf oluşturma işlemini daha kolay hale getirdi. Şimdi, sınıf oluşturmak için aşağıdaki gibi bir görünüme sahip class ifadesini kullanabilirsiniz.
```javascript
class Animal {
\tconstructor(name, type) {
\t\tthis.name = name;
\t\tthis.type = type;
\t}
\t
\tspeak() {
\t\tconsole.log(`I am a ${this.type}, and my name is ${this.name}`);
\t}
}
const dog = new Animal(Buddy, dog);
dog.speak(); // I am a dog, and my name is Buddy
```
Bu örnekte, Animal sınıfına `constructor` adında bir yöntem ekledik. Bu yöntem, sınıf oluşturulduğunda otomatik olarak çağrılır ve sınıfın özelliklerini ayarlar. Ayrıca, sınıfa `speak` metodu ekledik. Bu metot, Animal sınıfının hangi tipte olduğuna göre konuşma işlevselliğini yerine getirir.
Daha sonra yine `const` anahtar kelimesi ile `dog` adlı bir nesne oluşturduk ve sınıfın özelliklerini `constructor` metodu ile ayarladık. Son olarak, nesne üzerinde `speak` metodunu çağırdık. Bu şekilde, class deyimi ile sınıf oluşturmayı gerçekleştirmiş olduk.
KALITIM YÖNTEMLERİ
JavaScript'te kalıtım yapmak için, prototipteki özellikleri miras alarak yeni bir prototip oluşturabilirsiniz. İki kalıtım yöntemi vardır:
1. Prototip Kalıtımı
2. Sınıf Kalıtımı
Prototip Kalıtımı
Prototip kalıtımı, yalnızca `prototype` özelliklerini kullanarak bir nesne oluşturur. Bu kalıtım türünde, alt sınıfın proto'tan miras aldığı özellikleri değiştirebilirsiniz. Bu yöntem, ES5 ve öncesi sürümlerde kullanılabilir.
```javascript
function Animal(name, type) {
\tthis.name = name;
\tthis.type = type;
}
Animal.prototype.speak = function() {
\tconsole.log(`I am a ${this.type}, and my name is ${this.name}`);
}
function Dog(name, type, breed) {
\tAnimal.call(this, name, type);
\tthis.breed = breed;
}
Dog.prototype = Object.create(Animal.prototype);
Dog.prototype.constructor = Dog;
Dog.prototype.speak = function() {
\tconsole.log(Woof! I am a + this.type + and my name is + this.name);
}
const myDog = new Dog(Buddy, dog, Golden Retriever);
myDog.speak(); // Woof! I am a dog and my name is Buddy
```
Bu kod bloğunda, `Dog` adında yeni bir sınıf tanımladık. Bu sınıf, diğer özelliklerin yanı sıra `Animal` sınıfından kalıtım yapar. `call` metodunu kullanarak, `Dog` sınıfının `name` ve `type` özellikleri, `Animal` sınıfına aktarılır.
Daha sonra, `Dog` sınıfının prototipine, `Animal` sınıfının prototipini miras alması için `Object.create()` yöntemini kullandık. Ayrıca, `constructor` özelliğini yeniden ataarak hatayı önlemiş olduk.
Son olarak, `Dog` sınıfının prototipine, `speak` yöntemini ekledik. Bu yöntem, `Animal` sınıfından bu sınıfa miras alındı, ancak `Dog` için özelleştirildi.
Sınıf Kalıtımı
Sınıf kalıtımı, ES6 sürümünde tanıtılmıştır ve daha kolay bir kullanım sunar. Sınıf kalıtımı yapmak için, `extends` anahtar kelimesini kullanabilirsiniz.
```javascript
class Animal {
\tconstructor(name, type) {
\t\tthis.name = name;
\t\tthis.type = type;
\t}
\tspeak() {
\t\tconsole.log(`I am a ${this.type}, and my name is ${this.name}`);
\t}
}
class Dog extends Animal {
\tconstructor(name, type, breed) {
\t\tsuper(name, type);
\t\tthis.breed = breed;
\t}
\tspeak() {
\t\tconsole.log(Woof! I am a + this.type + and my name is + this.name);
\t}
}
const myDog = new Dog(Buddy, dog, Golden Retriever);
myDog.speak(); // Woof! I am a dog and my name is Buddy
```
Bu kod bloğunda, `Animal` adında bir sınıf ve `Dog` adında bir alt sınıf oluşturduk. `Dog` sınıfı, `Animal` sınıfını miras alır ve `extends` kelimesi ile belirtilir. `super` anahtar kelimesi ile, `Dog` sınıfının `Animal` sınıfından `name` ve `type` özelliklerini almasını garanti ediyoruz.
Son olarak, `Dog` sınıfına, `speak` metodu ekliyoruz. Bu metot, `Animal` sınıfından miras alır ve `Dog` sınıfı için özelleştirilmiştir.
SONUÇ
JavaScript sınıf ve kalıtım işlemleri oldukça kolay ve esnektir. JavaScript'te, prototip ve sınıf kalıtımı oluşturma yöntemleri kullanılabilir. Sınıf oluşturma için, ES6 sürümünden sonra `class` ifadesi kullanmak önerilir. Kalıtım yapmak istediğinizde, kullanım amacınıza ve kullanılan sürüme bağlı olarak, prototip veya sınıf kalıtımı yöntemlerini seçebilirsiniz.
*256 Bit SSL Sertifikası * Full Mobil Uyumlu * Full SEO Uyumlu
İsterseniz Mobil Uygulama Seçeneğiyle