İçinde Java, varsayılan parametreler geliştiricilerin yöntem parametreleri için varsayılan değerleri tanımlamasına olanak tanıyan güçlü bir özelliktir. Bu, bir yöntemin çok sayıda parametreye sahip olduğu ve bunlardan bazılarının her zaman gerekli olmadığı durumlarda yararlı olabilir.
Varsayılan parametreler Java 8'de tanıtılmıştır ve Java dili spesifikasyonunun bir parçasıdır. Bir yöntem çağrısı sırasında açıkça aktarılmayan bir parametre için geliştiricinin varsayılan bir değer tanımlamasına izin vererek çalışırlar.
Varsayılan bir parametre tanımlamak için, yöntem imzasında bildirildiğinde parametreye bir değer atamanız yeterlidir. Örneğin aşağıdaki yöntemi göz önünde bulundurun:
public void doSomething(String name, int age, String city) { // code to perform some action }
Şehir parametresini isteğe bağlı yapmak isteseydik şu şekilde bir varsayılan değer tanımlayabilirdik:
public void doSomething(String name, int age, String city = 'New York') { // code to perform some action }
Artık yöntem şehir parametresi olmadan çağrıldığında, bunun yerine varsayılan 'New York' değeri kullanılacaktır.
Varsayılan Parametrelerin Faydaları
- Varsayılan parametreler, yöntem imzası üzerinde kontrol sahibi olamayabileceğiniz API'ler veya kitaplıklar ile çalışırken özellikle yararlı olabilir. API'nizin kullanıcılarının her parametre için değer sağlamasını zorunlu kılmak yerine, mantıklı varsayılanlar tanımlayabilir ve gerektiğinde kullanıcıların bunları geçersiz kılmasına izin verebilirsiniz.
- Varsayılan parametreler, kodu daha kısa ve okunabilir hale getirebilmeleridir. Her yöntem çağrısında varsayılan değerleri açıkça belirtme ihtiyacını ortadan kaldırarak standart kod miktarını azaltabilir ve kodunuzun anlaşılmasını kolaylaştırabilirsiniz.
- Varsayılan parametrelerin yalnızca yöntem imzasında gerekli tüm parametrelerden sonra gelen parametreler için kullanılabileceğini belirtmekte fayda var. Bunun nedeni, Java'nın isteğe bağlı parametrelerden önce tüm gerekli parametrelerin belirtilmesini gerektirmesidir.
Varsayılan parametreler, 2014 yılında yayımlanan sürüm 8'de Java'ya eklenmiştir. Java 8'den önce, Java'da yöntem parametreleri için varsayılan değerleri belirlemenin bir yolu yoktu. Bunun yerine geliştiricilerin aşırı yüklenmiş yöntemler yazması veya isteğe bağlı parametreleri temsil etmek için boş değerler kullanması gerekiyordu. Varsayılan parametrelerin kullanıma sunulmasıyla Java geliştiricileri, yöntem imzalarını basitleştirmek ve kodu daha okunabilir hale getirmek için yeni bir araç elde etti. Ayrıca yıllardır varsayılan parametrelere sahip olan Python, Ruby ve JavaScript gibi diğer programlama dilleriyle de daha tutarlı hale geldiler.
Java'da varsayılan parametreler, geliştiricinin yöntem bildiriminde bir parametre için varsayılan bir değer belirtmesine izin vererek çalışır. Yöntem, o parametre için bir bağımsız değişken olmadan çağrılırsa varsayılan değer kullanılır.
Aşağıda, Java'da varsayılan parametrelerin kullanımını gösteren örnek bir program verilmiştir:
VarsayılanParametreÖrnek.java
import java.util.Scanner; public class DefaultParameterExample { // Define a method with a default parameter public static void printName(String firstName, String lastName, String title) { title = title != null ? title : 'Mr.'; // Default value for title System.out.println('Hello, ' + title + ' ' + firstName + ' ' + lastName + '!'); } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // Get user input System.out.print('Enter your first name: '); String firstName = scanner.nextLine(); System.out.print('Enter your last name: '); String lastName = scanner.nextLine(); // Call the method with and without the title parameter printName(firstName, lastName, 'Dr.'); // Pass in a value for title printName(firstName, lastName, null); // Don't pass in a value for title // The second call will use the default value of 'Mr.' } }
Çıktı:
Enter your first name: John Enter your last name: Doe Hello, Dr. John Doe! Hello, Mr. John Doe!
Bu örnekte, printName adında üç parametre alan bir yöntem tanımlıyoruz: FirstName, lastName ve title. Başlık parametresine varsayılan olarak 'Bay' değeri verilir. sağlanmadığı takdirde.
Ana yöntemde, FirstName ve LastName değişkenleri için kullanıcı girişi alıyoruz ve ardından printName yöntemini iki kez çağırıyoruz. İlk çağrı 'Dr.' değerinde geçer. başlık parametresi için ikinci çağrı başlık için bir değer iletmez.
Çözüm
Varsayılan parametreler, kodunuzu daha kısa, okunabilir ve esnek hale getirmenize yardımcı olabilecek güçlü bir Java özelliğidir. Yöntem parametreleri için mantıklı varsayılanlar tanımlamanıza olanak tanır ve kodunuzun kullanımını ve anlaşılmasını kolaylaştırır. Henüz yapmadıysanız, bu kullanışlı özellikten yararlanmak için Java kodunuzda varsayılan parametreleri kullanmayı düşünün.