JavaScript'te OOP'de Sanal Özellik Setter'ları
Sanal özellik getter'larının yanı sıra onların setter'larını da oluşturabiliriz. Bu durumda, setter içinde verileri almalı, ayırmalı ve ilgili kısımları gerekli genel özelliklere yazmalıyız.
Deneyelim. full sanal özelliğinin
setter'ını uygulayalım:
javascriptclass User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
get full() {
return this.name + ' ' + this.surn;
}
set full(full) {
let [name, surn] = full.split(' ');
this.name = name;
this.surn = surn;
}
}
Yapıyı sadeleştirelim:
javascriptclass User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
get full() {
return this.name + ' ' + this.surn;
}
set full(full) {
[this.name, this.surn] = full.split(' ');
}
}
Sınıfın bir nesnesini oluşturalım:
javascriptlet user = new User('john', 'smit');
Verileri sanal setter'ımıza yazalım:
javascriptuser.full = 'eric jons';
Nesne özelliklerinin değiştiğini kontrol edelim:
javascriptconsole.log(user.name); // 'eric'
console.log(user.surn); // 'jons'
console.log(user.full); // 'eric jons'