JavaScript’te Prototipal Kalıtım Nedir?
Prototipal inheritance, JavaScript’te nesne yönelimli programlama için kullanılan bir kalıtım modelidir. Bu kalıtım modelinde, bir nesne, diğer bir nesneden özelliklerini ve davranışlarını miras alır.
JavaScript’te, her nesnenin bir prototipi vardır. Bir nesnenin prototipi, nesnenin özellikleri ve metodlarıyla birlikte bir başka nesnedir. Bir nesnenin prototipi, o nesnenin özelliklerine ve davranışlarına sahip olur. Bu sayede, bir nesne örneği oluşturulurken, o nesnenin özellikleri ve davranışları prototipi tarafından belirlenir.
Prototipler, JavaScript’te kalıtım yapmak için kullanılır. Bir nesne, diğer bir nesnenin prototipinden özelliklerini ve metodlarını miras alabilir. Bu sayede, kod tekrarından kaçınılır ve daha az kod yazılarak daha esnek ve ölçeklenebilir programlar oluşturulabilir.
Örneğin, aşağıdaki örnekte, Person
adında bir nesne tanımladık ve bu nesnenin sayHello
adında bir metodu var:
const Person = {
sayHello: function() {
console.log('Hello');
}
};
Bir john
adında bir nesne örneği oluşturmak için, aşağıdaki kodu kullanabiliriz:
const john = Object.create(Person);
Bu şekilde, john
nesnesi, Person
nesnesinin prototipinden sayHello
metodunu miras alır. Artık john.sayHello()
çağrısı yapıldığında, "Hello" mesajını yazdıracaktır.
Prototipler, JavaScript’teki en önemli özelliklerden biridir ve nesne yönelimli programlama için oldukça güçlü bir araçtır.