Arama butonu
Bu konudaki kullanıcılar: 1 misafir
30
Cevap
568
Tıklama
0
Öne Çıkarma
Java Interface Hakkinda Detayli Bilgi
P
8 yıl
Teğmen
Konu Sahibi

meraba arkadaslar.

Java'da Herbert Schildt Java The Complete Reference 7th Edition kitabinin pdf sini okuyorum Interface'lere geldim fakat genel olarak nedemek oldugunu ne oldugunu anlasamda aklimda birsuru soru isareti olustu. bu soru isaretlerini size sorarak gidermek istiyorum. abstract classlari cok iyi bir sekilde anlamistim ve interfaceler ile bayagi bir benzerligi olmasina ragmen kafam cok karisti bu konuda. sorularim asagida arkadaslar. tesekkurler.

1 - Neden Tum Metodlar Public ?

2 - Private Metodlarin Amaci Ney ? tum metodlar public olmasina ragmen private metod tanimlayip govdesiyle birlikte yazabiliyoruz. neden boyle bisi var ?

3 - Interface'ler Public olarak tanimlanmak zorundamidir ? mesela bir java dosyasinda birden fazla public olmayan interface yapmak legalmidir ?

4 - Interface'lerdeki degiskenlerin amaci ney ? ve neden o degiskenler final ile tanimlanmak, ve dolayisiylada bir deger verilmek zorunda ?

sanirim hepsi bukadar arkadaslar tesekkur ediyorum.





< Bu mesaj bu kişi tarafından değiştirildi psikolojikSorunlu.insan -- 20 Aralık 2017; 1:6:42 >

P
8 yıl
Teğmen
Konu Sahibi

arkadaslar konularimi dh forum gibi turkce forumlarda acmak yerine dili ingilizce olan java forumlarinda acmak istiyorum ingilizcemin gelismesi icin. bildiginiz dili ingilizce olan java forumlari varmi ? Guzel bitane buldum ama 1 saat uye olamadim server hatasi sonra deneyin bisey bisey diyor. sitenin ismi: Java Forums, Linki:https://www.java-forums.org/forum.php baksa bildiginiz iyi bir forum varmi Java icin ? tesekkurler.





< Bu mesaj bu kişi tarafından değiştirildi psikolojikSorunlu.insan -- 20 Aralık 2017; 12:29:10 >

B
8 yıl
Binbaşı

1-interface'de implementation yapamiyorsun bir methodun. private olsaydi hicbir anlam ifade etmezlerdi

2- Methodu cagirana ve yaza kolaylik denebilir. Mesela kullanici bir methodu cagirip kullanabilirken sen onu class icinde methodlara bolup yapabilrsin. basitbir ornek vereyim. elinde bir dizi var bunu siralamak icin .sort() diye bir fonksiyon cagirioyrsun. Kullanici icin bi tek fonksiyonken sen class icin sort fonksiyonunun icinde birden private methodlarla bolelerek yazabilirsin.
ayrica classin ic yapisini kullanciya acmamak ve sadece gerekli olan yerleri bilmesini saglamaya da yariyor

3-interfaceler public olmali ve bir class birden fazla interface implement edebilir.
ornegin https://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html

4-interfaceleri instantiate(objesini olusturamiyorsun) edemiyorsun. interfacedeki degiskenler static ve final olmali cunku objesini olsuturamiyorsun ve bu degiskenlerin degerlerini baska bir yerde degistiremiyorsun

Fikir vermek amacli yazdim. Ben de ogrenciyim bunlar bana ogretilenlerdi konunun uzmani falan degilim Bu sorduklarin zaten internette milyonlarca kez sorulmustur. Ilk once arama yapmani tavsiye vereceklerdir. Ingilzice site oalrak her turlu programlama sorunu burada sorabilirsin
https://stackoverflow.com/



S
8 yıl
Yüzbaşı

1. Java'da multiple inheritence yok, bu durum bazi pattern larin implement edilmesinde sorun yaratiyor. Cozum: interface. Java'da single class inheritence var, fakat multiple interface implementasyonu var. Interface reference type dir fakat instantiate edilemez(yani object state yok), behaviour injection mekanizmasidir, bir contract tir, multiple inheritence'a gerek kalmadan ihtiyaci karsilamaktadir. Eger methodlar public olmazsa bunu implement eden class istenilen contract i saglamamis olur (extend edemeyecegi icin)

2. Interface icine private method Java 9 ile yeni geldi. Sebebi Java 8 ile gelen default method lara destek saglamak. Yani default method larda tekrar eden kisimlar ortaya ciktikca bunlari refactor etme ayni zamanda encapsulation i koruma ihtiyaci hasil oldu, sonuc: private methods.

3. bir class public olmazsa ne olur? top level class lar zaten ya public veya package visible, protected private olamaz. Ayni sey interface icin de gecerli, cunku dedigim gibi interface bir reference type dir.

4. object state olmamasi icin. Amac state injection degil, behaviour injection.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
P
8 yıl
Teğmen
Konu Sahibi

anlasilan Java9 da isler iyice degismis. benim kitap 7 yi anlatiyor oysaki. bu konuyu kitapta degilde netde calisayim.



< Bu ileti mobil sürüm kullanılarak atıldı >

P
8 yıl
Teğmen
Konu Sahibi

cok tesekkur ediyorum. kafamdaki bircok pürüz gitti. gerisinide alistirma yaparak giderecegim.



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @blackwar19 , @seyfi84
S
8 yıl
Yüzbaşı

Kullandığın kitabın 10. baskısı çıktı. Resmi fiyatı $60. Arıyorum ama bildiğim korsan kitap sitelerinde bulabilmiş değilim. Torrent'lerde de artık yeni kitap göremiyorum.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
P
8 yıl
Teğmen
Konu Sahibi

dolarda bayagi yukseldi :D para biriktirip almaya degermi acaba. sanirim Java9 icin en iyi kitap bu.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @seyfi84
T
8 yıl
Yarbay

Java ile ticari veya öğrenme/hobi amaçlı ufak bir uygulama yapsan onlar kafanı karıştırmazdı, bence.



Örneğin, RMI / Remote Method Invocation kullanan ufak bir uygulama yaparsan public/private, interface konuları kolaylaşırdı cunku RMI uygulamasında onların neden kullanıldığı daha net görülüyor.



Bahsettiğin kitap, javaya yeni başlamaktan cok javayı 100% öğrenmek için daha uygun gibi görünüyor. Bu arada kitabın 10. basımı torrent'te var fakat 1900+ sayfalık dev boyutta (~ 180MB) birşey ki onun da sebebi programcılıkla ilgili azw3 kitaplarında kod örneklerinde metin yerine imaj kullanılması (sayfada ortalama 100kB imaj olsa, 1900 sayfada 190MB yapar)



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
S
8 yıl
Yüzbaşı

Bir Cay Horstmann var(Core Java serisi) bir de Herbert Schildt, Java uzerine baska guncel kaliteli yazan kalmadi. Oracle resmi kitap (ve yazar) olarak Herbert'i secti, guzel yaziyor.

O cevabi yazdiktan 1 saat sonra kitabi internette korsan olarak buldum, begenirsem ve parayi da denklestirirsem almayi dusunuyorum.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @psikolojikSorunlu.insan
P
8 yıl
Teğmen
Konu Sahibi

nasil buluyorsunuz ya. ben zamaninda 8. basimini bile bulamamistim. link atarsaniz sevinirim.

birde cok iyi bir konuya deginmissiniz okudugum kitapta hic bolum sonu sorulari yok. bu tur bolum sonu soralarini nasil bulabilirim ?




Bu mesajda bahsedilenler: @revivo72
P
8 yıl
Teğmen
Konu Sahibi

hocam korsan kitabin linkini atarmisiniz :D




Bu mesajda bahsedilenler: @seyfi84
P
8 yıl
Teğmen
Konu Sahibi

neden link atmiyorsunuz ? bekliyorum.



T
8 yıl
Yarbay

Bazı linkleri atmak kurallara aykırı olabilir. Ayrıca kitabı nasıl bulduğumu da anlattım.



< Bu ileti mini sürüm kullanılarak atıldı >

S
8 yıl
Yüzbaşı

Google'da aradım, çıkan sonuçların birindeki depositfiles linki çalıştı. Hepsi bu. Link vermek istemiyorum çünkü senin biraz uğraşıp bulman lazım.

Dün akşam ilk bölümü okudum, şu kısım ilgimi çekti: Java is a programmer’s language. If you program well, your programs reflect it. If you program poorly, your programs reflect that, too. Put differently, Java is not a language with training wheels. It is a language for professional programmers. %100 katılıyorum. Hiç bilmeyen kişi Java öğrenemez. Java ile başlamak yanlıştır. Bölüm sonu alıştırmaları falan hikaye. Bebek adımları yok. 1500 sayfayı okuyacaksın, noktaları yavaş yavaş kafanda birleştireceksin büyük resmi görene kadar, bu nedenle bu iş kapasite meselesidir diyorum hep.





< Bu mesaj bu kişi tarafından değiştirildi seyfi84 -- 21 Aralık 2017; 10:16:12 >

< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 2 cevap geldi.
P
8 yıl
Teğmen
Konu Sahibi

Insanlarin kapasitesini sinirlamak cok yalnis. bunu bilemezsiniz. bi kitap okumustum ve kitapta soyle bir soz vardi. tabi tam hatirlamiyorum ama dolayli yoldan anlatayim.



Adam sirkteki bir fili gosterir ve kizina derki.

"Ayagina ince bir ip bagli olan fili goruyormusun ? O fil isterse o ince ipi koparip kacabilir. Ama o file o ipi koparamayacagini inandirmislar. ...."



Kitabin Adi: Olasiliksiz



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @seyfi84
P
8 yıl
Teğmen
Konu Sahibi

kitabi satin almaya karar verdim.



< Bu ileti mobil sürüm kullanılarak atıldı >

T
8 yıl
Yarbay

Amazon'daki fiyatı $36.6 + $8 kargo fakat Import Fees Deposit $18.6 ekleniyor ve doları da 4.07TL'den hesaplıyor. 1-2 sene öncesine kadar kitaplar için Import Fees Deposit / ithalat ücreti diye birşey asla yoktu (yıllardır Amazon'dan kitap alan biriyim) . aynı kitabı almanya'ya gönderse aynı ücret $3'e iniyor, yani bu ücret Türkiyeye özel. Dolar kurundan bahsetmeye gerek yok.



Kapasite konusuna gelince: Kapasite çalışma ile ilgili deil mi? Yani çalışırsan kapasiten artar çalışmazsan azalır bu herkes için geçerli.



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
P
8 yıl
Teğmen
Konu Sahibi

bende buldum internetten. 260 mb lik bir dosya bunu pdf formatina sokmak ta ayri bir dert :D neyse bunu ilkonce pdf formatina sokacagim sonrada matbadan kitap yaptiracagim :D




Bu mesajda bahsedilenler: @revivo72
S
8 yıl
Yüzbaşı

Bölüm 3'teyim, Characters kısmında char türü int gibidir, int atayabilirsin, increment/decrement yapabilirsin deyip geçti C anlatır gibi, hiç olmamış.

Core Java'da o kısım daha iyi, code unit ve code point farklarını anlatıp Java'da char türünün Unicode özelliğine vurgu yapıyordu Cay Horstmann. Devam ediyorum okumaya..



< Bu ileti mini sürüm kullanılarak atıldı >
Bu mesaja 2 cevap geldi.

Bu mesajda bahsedilenler: @seyfi84