Şimdi Ara

Java da parametreler

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
832
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar java'ya uzun bir süre ara vermiştim (okulda vba öğrenmemiz dolayısıyla) ama java nın önemini anlayıp tekarar java çalışmaya başlayacağım neyse sorum şu java'da parametreler nedir? ne işe yarar? parametreli ve parametresiz metotlar nedir ne işe yarar ?



  • google'a yazsan cevabını bulabileceğin bi soru bu
  • parametre metodun bekledigi argumanlarin tipi.
    print(String parameter) ===> buradaki parameter parametre oluyor. Ayni zamanda local variable, Java da her variable in bir scope u var. Bunun scope u metod.
    print("mephalay") ----> buradaki "mephalay" benim metoda pass ettigim arguman. parametre ile arguman arasindaki fark burada, parametre bekledigin degiskenin tipini tanimladigin alan, compile time da tanimini yaparsin. Runtime da arguman olarak o tipte istedigini pass edersin.
    parametresiz metod bir seyleri yapmak icin parametre gerektirmeyen metodlar, ornegin mobil uygulama yaziyorsun ve kullanicinin internet baglantisinin olup olmadigini kontrol etmek istiyorsun. Parametresiz metod yaparsin.
    checkConnection() throws Exception ---> Baglanti varsa hic bir sey yapmaz, yoksa Exception throw eder.
    Diyelim ki senin server ina baglanip baglanmadigini kontrol etmek istiyorsun. Parametre olarak server URL ini koyarsin.
    checkConnection(URL targetUrl) throws Exception ----> Senin server a baglanamiyorsa exc throw eder.
    Diyelim ki hem internet baglantisini kontrol etmek istiyorsun, hem de senin server a baglanip baglanamadigini kontrol etmek istiyorsun ( internet baglantisi olabilir ama Firewall dan dolayi baglanamiyor olabilir )
    checkConnection(URL targetUrl) throws ServerConnectionException, NoInternetException ---> Eger internet yoksa NOInternet throw eder, senin server a baglanamiyorsa NoServerConnection throw eder.
    Diyelim ki exception handling yapmadan, baglanabiliyorsa X yapsin, baglanamiyorsa Y yapsin istiyorsun:
    boolean checkConnection() ---> Baglanirsa true, baglanamiyorsa false
    Senin kurdugun mimari yapiya gore metodun davranisini parametrelerle ve return parametreleri ile bu sekilde kontrol edersin basitce.
    Aslinda cok basit seyler gibi gorunse de bir metoda cok fazla yuk bindirmemek, metodun satir sayisinin 5-10 arasinda kalacak sekilde yazmak gerekli.
    checkAllConnections() gibi bir metod yazarsan icini carsaf gibi doldurmamak gerekiyor. Soyle yapilabilir:
    checkAllConnections():
    checkDatabaseConnection() throws DBException
    checkInternetConnection() throws InternetConException
    checkServerConnection() throws ServerConnException

    ... gibi gibi. Kodu yazarken yazdigin metodu tekrar kullanabilme ihtimalini akilda bulundurarak ona gore dizayn etmelisin. checkMyServerConnection() { check("http://myServer.con")} yazarsan, baska bir projede baska bir server icin kullanacagin zaman buradaki myServer.com adresini yeni server ile degistirmen gerekir. Onun yerine checkServerConnection(URL serverURL) seklinde dizayn edersen reusable olmus olur.

    Benim gozlemledigim bir baska hata da static variable belirleyip surekli bunlara public olarak ulasip degerlerini degistirmek. Bu da encapsulation mantigina ters. Amac kontrol etmekse kontrol edilecek arguman parametre olarak verilmeli, static degere atanip checkCon() icerisinde tekrar buna ulasilmamali. Boyle yapilinca multithread uygulamalarda garip buglar ile ugrasirsin. Bir metod ya da variable tanimlanirken, olabilecek en private secenek ne ise o yapilmali. public olmasina gerek olmayan sey protected ya da private olarak kalmali. Class larin hepsinin public olmasinin mantigi yok, eger ne yaptiginizi bilmiyorsaniz.

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




  • quote:

    Orijinalden alıntı: Mephalay

    parametre metodun bekledigi argumanlarin tipi.
    print(String parameter) ===> buradaki parameter parametre oluyor. Ayni zamanda local variable, Java da her variable in bir scope u var. Bunun scope u metod.
    print("mephalay") ----> buradaki "mephalay" benim metoda pass ettigim arguman. parametre ile arguman arasindaki fark burada, parametre bekledigin degiskenin tipini tanimladigin alan, compile time da tanimini yaparsin. Runtime da arguman olarak o tipte istedigini pass edersin.
    parametresiz metod bir seyleri yapmak icin parametre gerektirmeyen metodlar, ornegin mobil uygulama yaziyorsun ve kullanicinin internet baglantisinin olup olmadigini kontrol etmek istiyorsun. Parametresiz metod yaparsin.
    checkConnection() throws Exception ---> Baglanti varsa hic bir sey yapmaz, yoksa Exception throw eder.
    Diyelim ki senin server ina baglanip baglanmadigini kontrol etmek istiyorsun. Parametre olarak server URL ini koyarsin.
    checkConnection(URL targetUrl) throws Exception ----> Senin server a baglanamiyorsa exc throw eder.
    Diyelim ki hem internet baglantisini kontrol etmek istiyorsun, hem de senin server a baglanip baglanamadigini kontrol etmek istiyorsun ( internet baglantisi olabilir ama Firewall dan dolayi baglanamiyor olabilir )
    checkConnection(URL targetUrl) throws ServerConnectionException, NoInternetException ---> Eger internet yoksa NOInternet throw eder, senin server a baglanamiyorsa NoServerConnection throw eder.
    Diyelim ki exception handling yapmadan, baglanabiliyorsa X yapsin, baglanamiyorsa Y yapsin istiyorsun:
    boolean checkConnection() ---> Baglanirsa true, baglanamiyorsa false
    Senin kurdugun mimari yapiya gore metodun davranisini parametrelerle ve return parametreleri ile bu sekilde kontrol edersin basitce.
    Aslinda cok basit seyler gibi gorunse de bir metoda cok fazla yuk bindirmemek, metodun satir sayisinin 5-10 arasinda kalacak sekilde yazmak gerekli.
    checkAllConnections() gibi bir metod yazarsan icini carsaf gibi doldurmamak gerekiyor. Soyle yapilabilir:
    checkAllConnections():
    checkDatabaseConnection() throws DBException
    checkInternetConnection() throws InternetConException
    checkServerConnection() throws ServerConnException

    ... gibi gibi. Kodu yazarken yazdigin metodu tekrar kullanabilme ihtimalini akilda bulundurarak ona gore dizayn etmelisin. checkMyServerConnection() { check("http://myServer.con")} yazarsan, baska bir projede baska bir server icin kullanacagin zaman buradaki myServer.com adresini yeni server ile degistirmen gerekir. Onun yerine checkServerConnection(URL serverURL) seklinde dizayn edersen reusable olmus olur.

    Benim gozlemledigim bir baska hata da static variable belirleyip surekli bunlara public olarak ulasip degerlerini degistirmek. Bu da encapsulation mantigina ters. Amac kontrol etmekse kontrol edilecek arguman parametre olarak verilmeli, static degere atanip checkCon() icerisinde tekrar buna ulasilmamali. Boyle yapilinca multithread uygulamalarda garip buglar ile ugrasirsin. Bir metod ya da variable tanimlanirken, olabilecek en private secenek ne ise o yapilmali. public olmasina gerek olmayan sey protected ya da private olarak kalmali. Class larin hepsinin public olmasinin mantigi yok, eger ne yaptiginizi bilmiyorsaniz.

    tam aradığım cevabı vermişsin açıklayıcı detaylı , çok sağ olasın




  • hitman80 H kullanıcısına yanıt
    google yazdım ama iyice kafam karıştı (eski bilgilerle birlikte) mephalay dedikleriyle oturdu kafamda iyice bu konu



    < Bu mesaj bu kişi tarafından değiştirildi deniz caliskan -- 23 Aralık 2016; 14:28:50 >
  • seyfi84 S kullanıcısına yanıt
    şımarık olduğumu nereden çıkarttın ? gerçekten bir sebeb gördüysen söyle eleştiri olarak algılayacağım ve kendimi düzeltmeye çalışacağım eğer gerekçe gösteremiyorsan söylediğin şey hakarettir bilesin
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.