Kapsülleme
Coddy'nin JavaScript Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 17 / 56.
Kapsülleme, verileri bir sınıfın içinde tek bir birimde birleştirme işlemidir.
Bu, sınıf verilerine doğrudan erişim konusunda kısıtlamalar getirmeye yardımcı olur ve sonuç olarak verilerin yanlışlıkla değiştirilmesini önlememize yardımcı olur.
Basit bir örnekle kapsüllemenin işleyişini görelim. Genel özelliklere sahip temel bir nesne oluşturun:
const user = {
name: "John",
email: "john@example.com"
};Herkes bu özelliklere doğrudan erişebilir ve bunları değiştirebilir:
user.name = "Jane"; // Dışarıdan kolayca değiştirilebilir
console.log(user.email); // Dışarıdan kolayca erişilebilirDaha kapsüllenmiş bir yaklaşım, verileri gizlemek için kapanımları kullanır:
function createUser(name, email) {
// Bu değişkenler özeldir (kapsüllenmiş)
let userName = name;
let userEmail = email;
// Özel verilerle etkileşim kurmak için metotlar içeren bir nesne döndür
return {
getName: function() {
return userName;
},
getEmail: function() {
return userEmail;
},
setName: function(newName) {
userName = newName;
}
};
}
const encapsulatedUser = createUser("John", "john@example.com");Şimdi, verilerle etkileşim kurmak için:
console.log(encapsulatedUser.getName()); // "John"
encapsulatedUser.setName("Jane");
console.log(encapsulatedUser.getName()); // "Jane"
// Verilere doğrudan erişilemez
console.log(encapsulatedUser.userName); // undefinedGörev
Kullanıcı verilerini korumak için kapsüllemeyi kullanan bir kod verildi. Görevin, yaşa erişmek için bir getAge() yöntemi eklemek.
Testler şunları kontrol edecek:
getAge()yönteminin mevcut olması- Doğru yaşı döndürmesi
- Yaş bilgilerinin gizli kalması
Beklenen Çıktı:
john_doe
25
Kendin dene
import { createUser } from './createUser.js';
// Test kodu - değiştirmeyin
const user = createUser("john_doe", 25);
console.log(user.getUsername()); // "john_doe" çıktısı vermeli
console.log(user.getAge()); // 25 çıktısı vermeli
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