كيفية استخدام المعاملات الاختيارية في Java؟ (مشابه للوسائط الافتراضية)
مرحبًا بالجميع. أنا أكتب بلغة Java وواجهت مشكلة. في لغات أخرى، مثل Python أو JavaScript، يمكنني تعيين قيم افتراضية للمعاملات مباشرة في توقيع الدالة. على سبيل المثال: `def connect(host, port=8080)`. هذا مريح جدًا — يمكن استدعاء الدالة بمعامل واحد، ويتم تعيين الثاني تلقائيًا.
في Java أحاول فعل شيء مشابه، لكن المترجم يشتكي. إليك الكود الخاص بي:
```java
public class DatabaseConnector {
public void connect(String host, int port = 8080) { // خطأ!
System.out.println("Connecting to " + host + ":" + port);
}
}
```
Java لا تدعم القيم الافتراضية للمعاملات. أضطر لكتابة دوال محملة بشكل زائد (overloaded methods)، لكن هذا يصبح مرهقًا، خاصة إذا كان هناك العديد من المعاملات (مثل host, port, username, password, timeout). أضطر لإنشاء مجموعة من الدوال:
```java
public void connect(String host) { ... }
public void connect(String host, int port) { ... }
public void connect(String host, int port, Stri