Java
Özet - Encapsulation
private, getter ve setter'ı birleştirerek bir Account sınıfı yazarsın.
Özet - Encapsulation
Bu grupta private alanlarla encapsulation'ı, getter ve setter metotlarını, paket görünürlüğünü ve record tanımını öğrendin. Encapsulation, veriyi korur ve geçersiz atamaları önler.
Şimdi tüm bunları bir araya getireceksin: bir sınıf tanımla, private alanlar ekle, getter ve setter yaz, doğrulama yap. Encapsulation, sağlam sınıf tasarımının temelidir.
Uygulama BankAccount sınıfını encapsulation ile tanımla
BankAccount adında bir sınıf tanımla. İçine private double balance alanını ekle. public double getBalance() getter'ını yaz; balance döndürsün. void deposit(double amount) metodu ekle; if (amount > 0) balance += amount; yaz. main içinde bir BankAccount örneği oluştur, deposit(500) çağır ve getBalance() sonucunu yazdır.
Örnek çözümü göster
class BankAccount {
private double balance;
public double getBalance() {
return balance;
}
void deposit(double amount) {
if (amount > 0) balance += amount;
}
public static void main(String[] args) {
BankAccount acc = new BankAccount();
acc.deposit(500);
System.out.println(acc.getBalance());
}
}
Sırada ne var?
Encapsulation'ı öğrendin. Sonraki gruplarda static üyelerle sınıf düzeyinde veriyi, sabitler ile değişmez değerleri ve interface ile sözleşme tanımlamayı göreceksin. Bunlar, sınıf tasarımının bir sonraki katmanıdır.
Bu grup; private, getter, setter, paket görünürlüğü ve record kavramlarını birleştirdi. Bunlar veri korumanın temelidir. Bir sonraki adımda static ile sınıf düzeyinde paylaşılan alan ve metotları keşfedeceksin; örneklerin ötesinde sınıfa ait verilerle çalışacaksın.
Uygulama Temperature sınıfını encapsulation ile tanımla
Temperature adında bir sınıf tanımla. İçine private double celsius alanını ekle. public double getCelsius() getter'ını yaz; celsius döndürsün. void setCelsius(double c) setter'ını yaz; gövdesinde if (c >= -273.15) celsius = c; yaz. main içinde bir Temperature örneği oluştur, setCelsius(25.0) çağır ve getCelsius() sonucunu yazdır.
Örnek çözümü göster
class Temperature {
private double celsius;
public double getCelsius() {
return celsius;
}
void setCelsius(double c) {
if (c >= -273.15) celsius = c;
}
public static void main(String[] args) {
Temperature t = new Temperature();
t.setCelsius(25.0);
System.out.println(t.getCelsius());
}
}
Kendini test et
-
Encapsulation neyi sağlar?
- Veri korunur
- Kod hızlanır
- Metot gizlenir
- Sınıf silinir
Cevabı göster
Veri korunur — Veri korunur — encapsulation veri bütünlüğünü güvence altına alır.
-
Getter gövdesini tamamla
public double getBalance() {
____;
}
Cevabı göster
public double getBalance() {
return balance;
}
Sıradaki ders: static alan