Saturday, November 19, 2016

Bà i 13 Class trong Java tiếp

Bà i 13 Class trong Java tiếp


Bài 13: Class trong Java (ti?p)

Sau bài vi?t này, các b?n s? có cái nhìn toàn di?n h?n v? class trong 1 project Java (interface, abstract class t??ng t?), các b?n áp d?ng ?? vi?t code sao cho d? nhìn d? hi?u và d? qu?n lý. Ch?n cách vi?t nào cho phù h?p v?i t?ng bài t?p, t?ng project. Sau bài này, các b?n c?ng s? hi?u h?n v? l?p trình h??ng ??i t??ng trong java.

1, Bài có 1 class, dùng class ch?a hàm main!

Khi b?n lên m?ng, tìm code, b?n s? th?y ng??i ta th??ng dùng cách này
Th??ng có 1 class duy nh?t. Cách vi?t này th??ng dùng ?? chia s? thu?t toán, cú pháp ho?c gi?i thi?u các ph??ng th?c c?a 1 ??i t??ng trong th? vi?n nào ?ó.
Ví d? 1: M?t bài t?p qu?n lý sinh viên nh?:
PHP:
package sinh.vien;

public class 
SinhVien {

    public 
String hoTen;
    public 
int namSinh;
    public 
float toanlyhoa;

    public static 
void main(String[] args) {
        
SinhVien a = new SinhVien();
        
a.hoTen "V? V?n A";
        
a.namSinh 1992;
        
a.toan 10.0f;
        
a.ly 9.0f;
        
a.hoa 9.5f;
        
System.out.println("?i?m Tb là: " + (float) (a.toan a.ly a.hoa) / 3);
    }
}
Khi làm bài t?p ho?c làm các project, ít khi dùng cách này, nó không hay cho vi?c qu?n lý, gi?i thi?u ?? các b?n có th? ??c và hi?u n?u nh? g?p ph?i nh?ng bài chia s? d?ng trên!

2, Class ??t cùng file class ch?a hàm main

V? trí ??t ngoài class ch?a ch??ng trình chính, ? bài tr??c, mình có vi?t ví d? theo cách này! Nó ch? thích h?p v?i bài ít class, class ít thu?c tính và ph??ng th?c. N?u bài có nhi?u class, m?i class có nhi?u ph??ng th?c, ?i?u này c?ng không t?t, s? r?t khó nhìn và qu?n lý c?ng nh? nâng c?p!
Ví d? 2: N?i dung bài nh? ? Vd1, b? sung thêm class gi?ng viên, nh?ng s? b? trí l?i v? trí class nh? sau:

PHP:
package truong.hoc;

class 
SinhVien {

    public 
String hoTen;
    public 
int namSinh;
    public 
float toanlyhoa;
}

class 
GiangVien {

    public 
String hoTen;
    public 
int namSinh;
    public 
String mon;
    public 
int luong;
}

public class 
Main {

    public static 
void main(String[] args) {
        
SinhVien a = new SinhVien();
        
a.hoTen "V? V?n A";
        
a.namSinh 1992;
        
a.toan 10.0f;
        
a.ly 9.0f;
        
a.hoa 9.5f;
        
System.out.println("?i?m Tb là: " + (float) (a.toan a.ly a.hoa) / 3);

        
GiangVien gv1 = new GiangVien();
    }
}
Chú ý: Ch??ng trình v?n ch?y n?u b?n ?? các class SinhVien và GiangVien ? phía cu?i ch??ng trình, ch? c?n n?m ngoài class Main là ???c

3, M?i class ??t riêng 1 file, cùng 1 gói (package)

Cách này ? các bài t?p có nhi?u class, các class cùng 1 lo?i.
Ví d? 4: Các class cùng là nhân s? c?a 1 tr??ng h?c: SinhVienGiangVienKhoa1,GiangVienKhoa2.
V?i bài này, chúng ta s? t?o project v?i 1 package là truong.hoc, trong
package này s? có 4 file nh? sau:

File "main.java" ch?a hàm main:
PHP:
package truong.hoc;

public class 
Main {

    public static 
void main(String[] args) {
        
SinhVien a = new SinhVien();
        
a.hoTen "V? V?n A";
        
a.namSinh 1992;
        
a.toan 10.0f;
        
a.ly 9.0f;
        
a.hoa 9.5f;
        
System.out.println("?i?m Tb là: " + (float) (a.toan a.ly a.hoa) / 3);

        
GiangVien1 gv1 = new GiangVien1();
    }
}
File GiangVien.java là 1 class, b?n t?o b?ng cách nháy chu?t ph?i vào package ch?n New --> Java Class, n?i dung nh? sau:
PHP:
package truong.hoc;

class 
SinhVien {

    public 
String hoTen;
    public 
int namSinh;
    public 
float toanlyhoa;
}
File GiangVien1.java:
PHP:
package truong.hoc;

class 
GiangVien1 {

    public 
String hoTen;
    public 
int namSinh;
    public 
String mon;
    public 
int luong;
}
File GiangVien2.java:
PHP:
package truong.hoc;

class 
GiangVien2 {

    public 
String hoTen;
    public 
int namSinh;
    public 
String mon;
    public 
int luong;
    public 

Available link for download