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ı işlevler, aynı yapıya ve davranışa sahip birden fazla nesne oluşturmanı sağlayan JavaScript'teki özel işlevlerdir.
Bir Person için yapıcı işlev tanımlayın:
function Person(name, age) {
this.name = name;
this.age = age;
this.greet = function() {
return "Hello, my name is " + this.name;
};
}Constructor'ı kullanarak yeni bir Person nesnesi oluştur:
const john = new Person("John", 30);
const tyler = new Person("Tyler", 35);Bir constructor'ı new anahtar sözcüğüyle çağır. new boş bir nesne oluşturur, this bu nesneyi gösterecek şekilde fonksiyonu çalıştırır ve nesneyi döndürür; böylece this.name = name, adı john üzerinde saklar. Gelenek olarak, Person ve Car gibi constructor adları büyük harfle başlar; bu, new ile çağrılmalarının amaçlandığını gösterir.
new olmadan Person("John", 30) sıradan bir fonksiyon çağrısıdır: hiçbir nesne oluşturulmaz, this global nesnedir (veya strict mode'da undefined) ve çağrı undefined döndürür.
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
- Üç bağımsız değişken alan
Bookadlı bir kurucu fonksiyon oluştur:
title(String)author(String)pages(Number)
Fonksiyon, bunları oluşturulan nesnenin özellikleri olarak ayarlamalıdır.
2. Kitap hakkında bazı bilgiler içeren bir dize döndüren getSummary adlı bir metot ekle: this.title + " was written by " + this.author + " and has " + this.pages + " pages";
Kendin dene
// TODO: Üç argüman (title, author, pages) alan Book adlı bir kurucu fonksiyon oluşturun
// TODO: Bunları oluşturulan nesnenin özellikleri olarak ayarlayın
// TODO: Kitap hakkında bazı bilgiler içeren bir dize döndüren getSummary adlı 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]; // İlk 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 ÇekmePrivate Alan Olarak Bakiye9Statik 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 SistemiKendi başına pratik yap: Online JavaScript derleyicisi