Hàm hay ph??ng th?c (method) trong Java là kh?i l?nh
th?c hi?n các ch?c n?ng, các hành vi x? lý c?a l?p lên vùng d?
li?u. Trong l?p trình c?u trúc, các b?n ?ã làm quen v?i khái ni?m hàm, th? t?c.
Trong l?p trình h??ng ??i t??ng, chúng ta s? h?n ch? g?i nh? v?y, hãy
quen g?i chúng là ph??ng th?c, nó liên quan ??n tính h??ng ??i t??ng trong Java!
2, Khai báo ph??ng th?c:
PHP:
<Ti?n t?> <ki?u tr? v?> <Tên ph??ng th?c> (<danh sách ??i s?>){
<kh?i l?nh>;
}
các ph??ng th?c c?a l?p ng??i ta th??ng dùng các ti?n t? sau:
- public: ph??ng th?c có th? truy c?p ???c t? bên ngoài
l?p khai báo.
- protected: có th? truy c?p ???c t? l?p khai báo và
nh?ng l?p d?n xu?t t? nó.
- private: ch? ???c truy c?p bên trong b?n thân l?p khai
báo.
- static: ph??ng th?c l?p dùng chung cho t?t c? các th?
hi?n c?a l?p, có ngh?a là ph??ng th?c ?ó có th? ???c
th?c hi?n k? c? khi không có ??i t??ng c?a l?p ch?a
ph??ng th?c ?ó.
- final: ph??ng th?c có ti?n t? này không ???c khai báo
ch?ng ? các l?p d?n xu?t.
- abstract: ph??ng th?c không c?n cài ??t (không có
ph?n source code), s? ???c hi?n th?c trong các l?p d?n
xu?t t? l?p này.
- synchoronized: dùng ?? ng?n các tác ??ng c?a các ??i
t??ng khác lên ??i t??ng ?ang xét trong khi ?ang ??ng
b? hóa. Dùng trong l?p trình miltithreads.
- <ki?u tr? v?>: có th? là ki?u void, ki?u c? s? hay m?t l?p.
- <Tên ph??ng th?c>: ??t theo qui ??c gi?ng tên bi?n.
- <danh sách thông s?>: có th? r?ng
Chú ý:
- Thông th??ng trong m?t l?p các ph??ng th?c nên ???c
khai báo dùng t? khóa public, khác v?i vùng d? li?u th??ng là
dùng ti?n t? private vì m?c ?ích an toàn.
- Nh?ng bi?n n?m trong m?t ph??ng th?c c?a l?p là các bi?n
c?c b? (local) và nên ???c kh?i t?o sau khi khai báo.
Xem thêm video blog StudyAndShare
?
Ví d? 1: T?o 1 l?p h?c sinh g?m các thu?c tính: h? tên, l?p, ?i?m toán, lý, hóa.
Tính ?i?m trung bình, tính x?p lo?i h?c l?c!
** Phân tích: ? ?ây tính ?i?m trung bình c?a 3 môn, nh? v?y ph??ng th?c tính ?i?m
có 3 ??i s? truy?n vào và tr? v? 1 giá tr? là s? th?c.
Tính x?p lo?i h?c l?c, ??i s? vào là 1 bi?n th?c duy nh?t, ph??ng th?c này tr? v? 1 chu?i
là x?p lo?i: y?u, trung bình, khá ho?c gi?i.
Code nh? sau:
PHP:
package javademoandroidvn;
class HocSinh {
public String hoTen, lop;
public float toan, ly, hoa;
public float diemTB(float toan, float ly, float hoa) {
return (float) (toan + ly + hoa) / 3;
}
public String xepLoai(float diemTB) {
if (diemTB >= 8 && diemTB <= 10) {
return "gi?i";
}
if (diemTB >= 6.5f && diemTB < 8) {
return "khá";
}
if (diemTB >= 5.0f && diemTB < 6) {
return "trung bình";
}
if (diemTB >= 0.0f && diemTB < 5) {
return "y?u";
}
return "Nh?p sai!";
}
}
public class JavaDemoAndroidVn {
public static void main(String[] args) {
HocSinh a = new HocSinh();
a.hoTen = "Vu Van T";
a.lop = "At7a";
a.toan = 8.0f;
a.ly = 9.0f;
a.hoa = 10.0f;
System.out.println("Thông tin: ");
System.out.println("H? tên: " + a.hoTen + " - L?p: " + a.lop);
System.out.println("Toán: " + a.toan + " Lý:" + a.ly + " Hóa: " + a.hoa);
System.out.println("?i?m trung bình: " + a.diemTB(a.toan, a.ly, a.hoa));
System.out.println("X?p lo?i " + <
Available link for download