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.

UML diyagramından olayları kuĢ bakıĢı görebiliyoruz. AnaSinif sınıfından türetilmiĢ TüretilmisSinif<br />

sınıfının içerisinde iki adet dahili üye sınıf bulunmaktadır. Dahili üye sınıf olan BB ve CC sınıfları da, B ve<br />

C sınıflarından türetilmiĢlerdir. Bu örneğimizdeki ana fikir, bir sınıfın içerisinde dahili üye sınıflar<br />

kullanılarak çoklu kalıtımın güvenli bir Ģekilde yapılabildiğini göstermektir. UML diyagramını <strong>Java</strong><br />

uygulamasına dönüĢtürürsek; ()<br />

Örnek: TuretilmisSinif.java ()<br />

class AnaSinif {<br />

public void ekranaBas(String deger) {<br />

System.out.println( deger );<br />

}<br />

}<br />

class B {<br />

public String degerDondur() {<br />

return "B";<br />

}<br />

}<br />

class C {<br />

public int topla(int a , int b) {<br />

return a+b ;<br />

}<br />

}<br />

public class TuretilmisSinif extends AnaSinif {<br />

public class BB extends B {<br />

public BB() { // yapılandırıcı<br />

ekranaBas( "Sonuc = " + degerDondur() );<br />

}<br />

}<br />

public class CC extends C {<br />

public CC( int a , int b ) { // yapılandırıcı<br />

ekranaBas("Sonuc = " + topla(a,b) );<br />

}<br />

}<br />

public static void main( String args[] ) {<br />

TuretilmisSinif.BB tbb= new TuretilmisSinif().new<br />

BB();<br />

TuretilmisSinif.CC tcc= new TuretilmisSinif().new<br />

CC(6, 9);<br />

}<br />

}<br />

TuretilmisSinif sınıfımız, AnaSinif sınıfından türetilmiĢtir fakat bu dahili sınıfların baĢka sınıflardan<br />

türetilmelerine engel teĢkil etmez. Her bir dahili sınıfın kendine ait bir durumu olabilir. Dahili sınıflar<br />

kendilerini çevreleyen sınıflardan bağımsızdır. Dahili sınıflar ile onları çevreleyen sınıflar arasında<br />

201

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

Saved successfully!

Ooh no, something went wrong!