Fonksiyonlar
Bilgisayar ve Programlamaya Giriş
TanımParametreDönüşKapsamTasarım
Sercan KÜLCÜ · Giresun ÜniversitesiGiriş
Öğrenme Çıktıları
Tanımlama
Metot bildirimi ve çağrısını yazmak.
Veri akışı
Parametre ve dönüş değerini kullanmak.
Kapsam
Yerel değişkenlerin yaşam alanını açıklamak.
Tasarım
Kısa, odaklı ve test edilebilir metotlar kurmak.
Temeller
Fonksiyon Nedir?
- Java'da fonksiyonlar sınıf içinde metot olarak tanımlanır.
- Belirli görevi adlandırır ve tekrar kullanılabilir bir birim oluşturur.
- Girdi parametrelerle alınır; sonuç dönüş değeriyle verilebilir.
Temeller
Metot Çalışması
Argümanları değerlendir
Parametrelere aktar
Gövdeyi çalıştır
Değer döndür
Çağrıya devam et
Temeller
Metot Tanımı
static int topla(int a, int b) {
int sonuç = a + b;
return sonuç;
}- int dönüş türüdür.
- a ve b biçimsel parametrelerdir.
- return çağırana sonucu verir.
Temeller
Metot Çağrısı
int toplam = topla(5, 3); System.out.println(toplam);
- 5 ve 3 gerçek argümanlardır.
- Dönen değer değişkene atanabilir veya başka ifadede kullanılabilir.
Temeller
Metot Bildiriminin Parçaları
| Parça | Örnek | Görev |
|---|---|---|
| Erişim | public | Kim çağırabilir? |
| Niteleyici | static | Nesne gerekiyor mu? |
| Dönüş türü | int | Hangi değer döner? |
| Ad | topla | Görevin adı |
| Parametre | int a | Hangi girdi alınır? |
Dönüş
void Metotlar
- void, metot çağrısına bir değer döndürmediğini belirtir.
- Ekrana yazma veya nesnenin durumunu değiştirme gibi yan etkiler üretebilir.
- return; ifadesi void metottan erken çıkmak için kullanılabilir.
Dönüş
Erken Dönüş
static void yazdırPozitif(int sayı) {
if (sayı <= 0) return;
System.out.println(sayı);
}- Özel durumu başta ele almak iç içeliği azaltabilir.
- Değer döndüren metotta her yol uyumlu bir değer döndürmelidir.
Parametreler
Parametre Aktarımı
- Java her zaman değere göre aktarım kullanır.
- İlkel türde değerin kopyası aktarılır.
- Nesne için başvuru değerinin kopyası aktarılır; nesne değişebilir fakat çağıranın değişkeni yeniden bağlanmaz.
Parametreler
Değere Göre Aktarım
static void artır(int x) { x++; }
int sayı = 5;
artır(sayı);
System.out.println(sayı); // 5- Metottaki x bağımsız bir yerel değişkendir.
Parametreler
Aşırı Yükleme
- Aynı sınıfta aynı adla farklı parametre listesine sahip metotlar tanımlanabilir.
- Yalnızca dönüş türünü değiştirmek yeterli değildir.
- Derleyici çağrıdaki argümanlara göre uygun bildirimi seçer.
Parametreler
Metot Aşırı Yükleme
static int alan(int kenar) {
return kenar * kenar;
}
static int alan(int en, int boy) {
return en * boy;
}Nesneler
Yapıcı Metot
- Constructor, yeni nesnenin başlangıç durumunu kurar.
- Sınıfla aynı adı taşır ve dönüş türü yazılmaz.
- new ifadesi nesneyi oluşturur ve uygun yapıcıyı çağırır.
Nesneler
Yapıcı Örneği
class Kitap {
String ad;
Kitap(String ad) {
this.ad = ad;
}
}
Kitap k = new Kitap("Algoritmalar");Nesneler
Nokta Operatörü
- Nesnenin alan veya metoduna erişir: kitap.ad veya kitap.yazdır().
- static üyeler genellikle sınıf adıyla çağrılır: Math.sqrt(9).
- Erişim belirleyiciler hangi üyelerin görünür olduğunu sınırlar.
Kapsam
Yerel Kapsam
- Parametreler ve metot içinde tanımlanan değişkenler yereldir.
- Bir blokta tanımlanan değişken yalnızca o blok ve iç bloklarda görünür.
- Aynı kapsamda aynı adlı iki yerel değişken tanımlanamaz.
Kapsam
Kapsam Örneği
static int hesapla(int n) {
int sonuç = 0;
if (n > 0) {
int katkı = n * 2;
sonuç += katkı;
}
return sonuç;
}- katkı yalnızca if bloğu içinde görünür.
- sonuç tüm metot gövdesinde kullanılabilir.
Tasarım
Soyutlama
- Metot çağıran koddan uygulama ayrıntısını saklar.
- İyi adlandırılmış metot ne yapıldığını açıklar; nasıl yapıldığı gövdede kalır.
- Uygulama değiştiğinde çağıranların etkilenmemesi bakım maliyetini azaltır.
Tasarım
Problemi Parçalama
- Büyük görevi tek sorumluluklu alt görevlere ayırın.
- Her alt görev için girdi, çıktı ve hata davranışını belirleyin.
- Üst düzey metot bu görevleri anlamlı sırada birleştirsin.
Tasarım
İyi Metot Tasarımı
| İlke | Soru |
|---|---|
| Tek görev | Metot tek cümleyle açıklanabiliyor mu? |
| Anlamlı ad | Ad sonuç veya eylemi söylüyor mu? |
| Az parametre | Girdilerin hepsi gerekli mi? |
| Belirgin sonuç | Dönüş ve yan etkiler açık mı? |
| Test edilebilirlik | Metot bağımsız örneklerle denenebilir mi? |
Kütüphane
Sık Kullanılan Hazır Metotlar
- Math sayısal işlemler sağlar: abs, max, sqrt, pow.
- String metotları metin arar, böler ve dönüştürür.
- Arrays sıralama, arama ve gösterim yardımcıları sunar.
- Kütüphane metotlarında parametre, dönüş ve hata belgeleri okunmalıdır.
Özet
Bölüm Özeti
- Metot görevleri adlandırır, girdi alır ve sonuç döndürebilir.
- Java'da argümanlar değere göre aktarılır.
- Kapsam değişkenin nerede erişilebilir olduğunu belirler.
- İyi metot kısa, tek görevli, anlamlı adlandırılmış ve test edilebilirdir.
Özet
Kontrol Soruları
- Parametre ile argüman arasındaki fark nedir?
- void metot hangi durumda kullanılır?
- Java'da nesne başvurusu nasıl aktarılır?
- Aşırı yüklemede hangi bölüm farklı olmalıdır?
- Yerel kapsam neden yararlıdır?
Son
Fonksiyonlar
1 / 1Sercan KÜLCÜ, Tüm hakları saklıdır.
← → veya boşluk ile gezinin · F: tam ekran · Home/End: ilk/son slayt