Kitaplar / Yöntem Dil Başvurusu / 7. Sınıflar ve kayıtlar
7. Sınıflar ve kayıtlar
sinif: 'sınıf' ['(' AD ')'] uye* 'bitir'
kayit: 'kayıt' alan* 'bitir'
uye: gorunurluk | alan | metod
alan: ','.AD+ [':' tip] ['=' ifade]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'
bitirMetodlar
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.