Yapıcı Fonksiyonlar
Coddy'nin JavaScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 4 / 56.
Yapıcı fonksiyonlar (Constructor functions), JavaScript'te aynı yapı ve davranışa sahip birden fazla nesne oluşturmanıza olanak tanıyan özel fonksiyonlardır.
Bir Person için bir yapıcı (constructor) fonksiyon tanımlayın:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Yapıcıyı (constructor) kullanarak yeni bir Person nesnesi oluşturun:
const john = new Person("John", 30);
const tyler = new Person("Tyler", 35);Yukarıdaki kodu çalıştırdıktan sonra john, şu özelliklere sahip bir nesnedir:
// john nesnesi şunları içerir:
{
name: "John",
age: 30,
greet: function() { return "Hello, my name is John"; }
}Özelliklere erişin ve metotları çağırın:
console.log(john.name); // Çıktı: John
console.log(john.greet()); // Çıktı: Hello, my name is JohnGörev
- Üç argüman alan
Bookadında bir yapıcı (constructor) fonksiyon oluşturun:
title(String)author(String)pages(Sayı)
Fonksiyon, bunları oluşturulan nesne üzerinde özellikler (properties) olarak ayarlamalıdır.
2. Kitap hakkında bazı bilgiler içeren bir dize döndüren getSummary adında bir metot ekleyin: this.title + " was written by " + this.author + " and has " + this.pages + " pages";
Kopya kağıdı
Yapıcı (constructor) fonksiyonlar, aynı yapıya sahip birden fazla nesne oluşturur. Örnekler oluşturmak için new anahtar kelimesini kullanın:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}
const john = new Person("John", 30);
console.log(john.name); // Çıktı: John
console.log(john.greet()); // Çıktı: Hello, my name is JohnKendin dene
// YAPILACAK: Üç argüman (title, author, pages) alan Book adında bir yapıcı (constructor) fonksiyon oluşturun
// YAPILACAK: Bunları oluşturulan nesne üzerinde özellikler (properties) olarak ayarlayın
// YAPILACAK: Kitap hakkında bazı bilgiler içeren bir dize (string) döndüren getSummary adında bir metot ekleyin.
// Örneğin: Harry Potter was written by Rowling and has 500 pages
// Aşağıdaki kodu değiştirmeyin
const inputTitle = inp[0]; // Birinci satır: kitap başlığı
const inputAuthor = inp[1]; // İkinci satır: yazar
const inputPages = parseInt(inp[2]);// Üçüncü satır: sayfa sayısı
const book = new Book(inputTitle, inputAuthor, inputPages);
console.log(book.getSummary());Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Nesne Yönelimli Programlama bölümündeki tüm dersler
1Nesneler ve this Anahtar Kelimesi
Hızlı Tekrar: NesnelerNesnelere Metot Eklemethis Anahtar Kelimesini AnlamakYapıcı Fonksiyonlarnew Anahtar KelimesiGenel Tekrar Uygulaması7Kalıtım ve extends Anahtar Kelimesi
Kalıtım"is-a" İlişkisiextends Anahtar Kelimesisuper() MetoduÖzellikleri ve Metotları DevralmaÖzet Meydan Okuması2Kodu Düzenleme
Modüller Nedir?export ile Dışa Aktarmaimport ile İçe AktarmaVarsayılan ve Adlandırılmış Dışa Aktarmalar8OOP Kodunu Düzenleme
Sınıfları Modüller Halinde Düzenleme6Proje: Basit Bir Banka Hesabı
BankAccount SınıfıPara Yatırma ve Para Çekme9Statik Metotlar ve Özellikler
Sınıf Düzeyi ve Örnek DüzeyiStatik ÖzelliklerStatik Yardımcı MetotlarÖzet Meydan Okuma12Getter ve Setter'lar
get ve set Anahtar KelimeleriHesaplanmış ÖzelliklerDoğrulama ve Yan EtkilerÖzet Meydan Okuması15Final Meydan Okumaları
Oyun Karakteri OluşturucuE-ticaret Ürün SistemiÜniversite Yönetim SistemiAkıllı Ev Cihaz Sistemi