İçeriğe geç

Kitaplar / Yöntem Dil Başvurusu / 7. Sınıflar ve kayıtlar

7. Sınıflar ve kayıtlar

Çıktı
sinif: 'sınıf' ['(' AD ')'] uye* 'bitir'
kayit: 'kayıt' alan* 'bitir'
uye:   gorunurluk | alan | metod
alan:  ','.AD+ [':' tip] ['=' ifade]
Yöntem
tip
  Hayvan = sınıf
    ad: metin
    kurucu Oluştur(a: metin)
    fonksiyon Ses: metin; sanal
    fonksiyon Tanıt: metin
  bitir

  Kedi = sınıf(Hayvan)
    fonksiyon Ses: metin; ezer
  bitir

kurucu Hayvan.Oluştur(a: metin)
başla
  ad := a
bitir

fonksiyon Hayvan.Ses: metin
başla
  dön '...'
bitir

fonksiyon Hayvan.Tanıt: metin
başla
  dön ad + ': ' + Ses
bitir

fonksiyon Kedi.Ses: metin
başla
  dön 'Miyav'
bitir

Metodlar

Bir metodun gövdesi sınıfın içinde ya da dışında yazılabilir. Sınıf içinde başlığın ardından başla (ya da yerel değişken/sabit bölümü) geliyorsa gövde oradadır; gelmiyorsa gövde sınıfın dışında Sınıf.Metod adıyla yazılır.

Metod gövdesinde nesnenin alanlarına ve metodlarına adlarıyla doğrudan ya da kendi.ad biçiminde erişilir. Bütün metodlar dinamik bağlanır: çağrılan metod, değişkenin bildirilen tipine göre değil, nesnenin gerçek sınıfına göre seçilir.

Nesne oluşturma

Yazım Anlamı
Kedi.Oluştur('Tekir') Kurucuyu adıyla çağırır
Kedi('Tekir') Aynı kurucuyu sınıf adıyla çağırır
Nokta.Oluştur(3, 4) Kurucusu olmayan sınıf ya da kayıtta alanları sırayla doldurur

Alanlar önce bildirimdeki ilk değerlerini (sayaç: tamsayı = 0) ya da tiplerinin başlangıç değerini alır, sonra kurucu çalışır.

Kalıtım

Bir sınıfın en çok bir ebeveyni olabilir: sınıf(Ebeveyn). Alt sınıf ebeveynin alanlarını ve metodlarını devralır, aynı adla yeniden tanımladığı metod ebeveyninkinin yerini alır.

Ebeveynin metodu miras ile çağrılır: miras Oluştur(a) adı verilen metodu, tek başına miras ise içinde bulunulan metodun ebeveyndeki karşılığını aynı argümanlarla çağırır. ÖrneğiMi(nesne, Sınıf) nesnenin o sınıftan ya da alt sınıflarından olup olmadığını söyler.

Görünürlük

özel, genel, korumalı ve yayınlanmış sözcükleri sınıf içinde bölüm başlığı olarak yazılabilir. Bu sözcükler belgeleme amaçlıdır: derleyici erişimi kısıtlamaz.

Özel adlı metodlar

Metod Kullanıldığı yer
MetneÇevir yaz(nesne) ve metne çevirme
Topla, Çıkar, Çarp, Bölme +, -, *, /
Eşit = ve <>
Küçük, Büyük <, >

Kayıtlar

Kayıt, metodu olmayan ve değer olarak davranan bir sınıftır: atandığında ve parametre olarak verildiğinde kopyalanır. Kayıt tipli bir değişken bildirildiğinde alanları başlangıç değerinde hazır gelir; sınıf tipli bir değişken ise bir nesne atanana kadar boştur.