06.03.2015 Views

Java Kitabı

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

JAva`nın çalışma mantığıyla başlayıp basitten gelişmişe iyi bir kaynak

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

class Telefon {<br />

protected void aramaYap() {<br />

System.out.println("Telefon.aramaYap()");<br />

}<br />

}<br />

class CepTelefonu extends Telefon {<br />

private void aramaYap() { // ! hatali !<br />

System.out.println("CepTelefon.aramaYap()");<br />

}<br />

}<br />

Bu örnek derlenmeye çalıĢılırsa, aĢağıdaki hata mesajı ile karĢılaĢır<br />

Telefonlar.java:10: aramaYap() in CepTelefonu cannot<br />

override aramaYap() in Tele<br />

fon; attempting to assign weaker access privileges; was<br />

protected<br />

private void aramaYap() {<br />

^<br />

1 error<br />

Bu hatanın Türkçe açıklaması, iptal eden yordamın CepTelefonu.aramaYap(), iptal edilen yordamın<br />

Telefon.aramaYap() eriĢim belirleyicisi ile aynı veya daha eriĢilebilir bir eriĢim belirleyicisine sahip<br />

olması gerektiğini belirtir. ()<br />

En eriĢilebilir eriĢim belirleyicisinden, en eriĢilemez eriĢim belirleyicisine doğru sıralarsak; ()<br />

public: Her yerden eriĢilmeyi sağlayan eriĢim belirleyicisi. ()<br />

protected: Aynı paket içerisinden ve bu sınıfdan türemiĢ alt sınıflar tarafından<br />

eriĢilmeyi sağlayan eriĢim belirleyicisi. ()<br />

friendly: Yalnızca aynı paket içerisinden eriĢilmeyi sağlayan eriĢim belirleyicisi. ()<br />

private: Yalnızca kendi sınıfı içerisinden eriĢilmeyi sağlayan, baĢka her yerden eriĢimi<br />

kesen eriĢim belirleyicisi. ()<br />

Olaylara bu açıdan bakarsak, ana sınıfa ait a() isimli public eriĢim belirleyicisine sahip bir yordam var<br />

ise, bu sınıftan türeyen bir alt sınıfın, ana sınıfa ait a() yordamını iptal etmek için, eriĢim belirleyicisi<br />

kesin kes public olmalıdır. Eğer aynı a() yordamı protected eriĢim belirleyicisine sahip olsaydı,<br />

o zaman türeyen alt sınıfın bu yordamı iptal edebilmesi için eriĢim belirleyicisini public veya<br />

protected yapması gerekecekti. ()<br />

Örnek-5.13: Hesap.java ()<br />

class HesapMakinesi {<br />

void hesapla(double a , double b) {<br />

System.out.println("HesapMakinesi.hesapla()");<br />

}<br />

}<br />

class Bilgisayar extends HesapMakinesi {<br />

protected void hesapla(double a , double b) {<br />

System.out.println("HesapMakinesi.hesapla()");<br />

125

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!