Saturday, December 17, 2016

Bà i 14 Phương thức method trong Java

Bà i 14 Phương thức method trong Java


Bài 14: Ph??ng th?c (method) trong Java

1, Khái ni?m: 

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>;
}
?? xác ??nh quy?n truy xu?t c?a các ??i t??ng khác ??i v?i
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 hoTenlop;
    public 
float toanlyhoa;

    public 
float diemTB(float toanfloat lyfloat hoa) {

        return (float) (
toan ly hoa) / 3;
    }

    public 
String xepLoai(float diemTB) {
        if (
diemTB >= && 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.toana.lya.hoa));
        
System.out.println("X?p lo?i " <

Available link for download