Methods
Methods ក្នុង Java
🔧 Method គឺជាអ្វី?
Method គឺ block នៃកូដ ដែលធ្វើការជាក់លាក់មួយ។ វាដូចជា function ក្នុងភាសាដែទ។
ឧទាហរណ៍ក្នុងជីវិតពិត:
- ម៉ាស៊ីនគណនា: ម៉ាស៊ីនគណនា → សម្រេចមុខងារ (method)
- បោះពុម្ពសារ: ចុច button → បោះពុម្ព (method)
- បើកទ្វារ: ចុច switch → បើកព័ង (method)
📚 ហេតុអ្វីត្រូវការ Methods?
- Code Reusability: សរសេរម្តង ប្រើបានច្រើនដង
- កំណត់រចនាសម្ព័ន្ធ: កូដទៅជា blocks តូចៗ
- ងាយ Maintain: កែមួយទី ប្តូរមួយដង
- Testing: Test method មួយៗ ឥតពាស់ព័ន្ធគ្នា
- Modularity: កម្មវិធីទៅជា modules តូចៗ
📝 រចនាសម្ព័ន្ធ Method
accessModifier returnType methodName(parameters) {
// method body
return value; // ប្រសិនបើ return type មិនមែន void
}
🔍 ផ្នែករបស់ Method:
- Access Modifier: public, private, protected
- Return Type: void, int, String, etc.
- Method Name: ឈ្មោះ method (camelCase)
- Parameters: Input values (អាចគ្មាន)
- Method Body: { } កូដដែលរត់
🎯 Method Signature
Method signature = ឈ្មោះ method + parameter types
// Signature: greet()
public void greet() { }
// Signature: add(int, int)
public int add(int a, int b) { }
// Signature: display(String)
public void display(String msg) { }
🔢 ប្រភេទ Methods
ប្រភេទ | ពន្យល់ | ឧទាហរណ៍ |
---|---|---|
void | មិន return អ្វី | public void greet() { } |
return value | Return តម្លៃ | public int add() { return 5; } |
static | ហៅដោយមិនចាំបាច់ object | public static void main() { } |
non-static | ត្រូវការ object | public void display() { } |
Java Code
Click "Run" to execute the Java code
📥 Parameters & Return Values
📥 Parameters (Input)
Parameters គឺ input values ដែល method ទទួលបាន។
// មាន parameters
public void greet(String name) {
System.out.println("Hello, " + name);
}
// ហៅ method
greet("John"); // "John" ជា argument
📦 Return Values (Output)
Return values គឺ output ដែល method ផ្តល់ស្រុល។
public int add(int a, int b) {
return a + b; // Return ផលបូក
}
// អានលទ្ធផល
int result = add(10, 20); // result = 30
🔄 Parameter vs Argument
ពាក្យ | ន័យ | ឧទាហរណ៍ |
---|---|---|
Parameter | Variable ក្នុង method definition | void greet(String name) |
Argument | តម្លៃពិតនៅពេលហៅ method | greet("John") |
🔢 Multiple Parameters
public double calculatePrice(double price, int quantity, double tax) {
double subtotal = price * quantity;
double total = subtotal + (subtotal * tax);
return total;
}
// ហៅ
double finalPrice = calculatePrice(100.0, 3, 0.10);
// 100 * 3 = 300
// 300 + (300 * 0.10) = 330.0
📤 void vs return
void | return type |
---|---|
មិន return អ្វី | Return value |
ធ្វើ action | គណនា ឬ បង្កើតអ្វីមួយ |
Print, save, update | Calculate, get, find |
void print() { System.out.println(); } |
int getAge() { return 25; } |
💡 Return Best Practices
- ប្រើ void: នៅពេលគ្រាន់តែ action
- ប្រើ return: នៅពេលចាំបាច់បានលទ្ធផល
- Single Responsibility: method មួយត្រូវធ្វើមួយការងារ
- Clear naming: ឈ្មោះត្រូវបង្ហាញមុខងារ
Java Code
Click "Run" to execute the Java code
🔁 Method Overloading
🤹 Overloading គឺជាអ្វី?
Method Overloading គឺការមាន methods ច្រើនឈ្មោះដូចគ្នា ប៉ុន្តែ parameters ខុសគ្នា។
🔑 ចំណុចសម្រាប់ Overloading:
- ឈ្មោះដែលគ្នា
- Parameters ខុសគ្នា:
- ចំនួន parameters ខុសគ្នា
- ប្រភេទ parameters ខុសគ្នា
- លំដាប់ parameters ខុសគ្នា
✅ Valid Overloading
// ខុសចំនួន parameters
public void print(String msg) { }
public void print(String msg, int times) { }
// ខុសប្រភេទ parameters
public int add(int a, int b) { }
public double add(double a, double b) { }
// ខុសលំដាប់ parameters
public void display(int num) { }
public void display(String text) { }
❌ Invalid Overloading
// ❌ គ្រាន់តែ return type ខុសគ្នា
public int getValue() { }
public String getValue() { } // Error!
// ❌ Parameter names មិនទាក់ទង
public void test(int a) { }
public void test(int b) { } // Error!
🎯 ឧទាហរណ៍ការប្រើ Overloading
public class Calculator {
// Add 2 numbers
public int add(int a, int b) {
return a + b;
}
// Add 3 numbers
public int add(int a, int b, int c) {
return a + b + c;
}
// Add doubles
public double add(double a, double b) {
return a + b;
}
}
Calculator calc = new Calculator();
calc.add(5, 10); // ហៅ method 1
calc.add(5, 10, 15); // ហៅ method 2
calc.add(5.5, 10.5); // ហៅ method 3
💡 ប្រយោជន៍ Overloading
- Flexibility: អាចហៅ method ដោយវិធីខុសគ្នា
- Convenience: ឈ្មោះដែលគ្នា មុខងារខុសគ្នា
- Readability: កូដងាយអាន
🔍 Constructor vs Method Overloading
លក្ខណៈ | Constructor Overloading | Method Overloading |
---|---|---|
ឈ្មោះ | ស្មើ class | អ្វីក៏បាន |
ប្រើ | ចំណាត់ object | សកម្មភាពណាមួយ |
Return | គ្មាន return type | មាន return type |
Java Code
Click "Run" to execute the Java code