Bài 15: Phương thức setter và getter trong Java

Xem trong 'Làng Tin Tức' đăng bởi Trangcct, 29/3/15, [ Mã Tin: 18163 ] [385 lượt xem - 0 bình luận]

  1. SĐT :
    01xxxxxxxx
    Địa Chỉ :
    Thăng Long- Kinh Môn -Hải Dương
    Gửi tin nhắn
    Ở các ví dụ trước, các thuộc tính mình thường để public , chương trình chạy, nhưng đó không phải là cách ổn. Nếu chuyển về private, mà bạn vẫn truy cập các thuộc tính như các bài ví dụ trước thì sẽ lỗi như này:



    [​IMG]


    Vậy làm như nào để truy cập các thuộc tính của đối tượng để private?


    1, Biến this


    Đầu tiên bạn cần hiểu biến này là gì?

    Biến this là một biến ẩn tồn tại trong tất cả các lớp trong ngôn ngữ java. Một class trong Java luôn tồn tại một biến this, biến this được sử dụng trong khi chạy và tham khảo đến bản thân lớp chứa nó.


    2, Phương thức setter


    Mục đích của phương thức setter là chúng ta dùng nó để truy cập vào thuộc tính của đối tượng và gán giá trị cho các thuộc tính của đối tượng! Tên gọi, hay cách bạn đặt tên phương thức này là tùy bạn, nó cũng vẫn chạy nhưng theo style code lập trình viên thường làm thì nó sẽ thường là set....


    Ví dụ 1:

    PHP:

    package javademoandroidvn;

    class HocSinh {

    private String hoTen;
    private String lop;
    private float diemTb;

    public void setHoTen(String hoTen1) { //hoTen1 là biến cục bộ nhập vào, thường để trùng tên thuộc tính như các hàm setter phía dướithis.hoTen = hoTen1;
    }

    public void setLop(String lop) {this.lop = lop;
    }

    public void setDiemTb(float diemTb) {this.diemTb = diemTb;
    }
    }

    public class JavaDemoAndroidVn {

    public static void main(String[] args) {HocSinh a = new HocSinh();a.setHoTen("Vu Van T");a.setLop("At7a");a.setDiemTb(7.5f);
    }
    }

    2, Phương thức getter


    Cũng tương tự như phương thức setter, nó cũng dùng để truy cập vào các thuộc tính

    của đối tượng, nhưng ngược lại setter, phương thức getter sẽ trả về các thuộc tính của đối tượng!


    Ví dụ 2:

    PHP:

    package javademoandroidvn;

    class HocSinh {

    private String hoTen;
    private String lop;
    private float diemTb;

    public void setHoTen(String hoTen1) { //hoTen1 là biến cục bộ nhập vào, thường để trùng tên thuộc tính như các hàm setter phía dướithis.hoTen = hoTen1;
    }

    public void setLop(String lop) {this.lop = lop;
    }

    public String getHoTen() {
    return hoTen;
    }

    public String getLop() {
    return lop;
    }

    public float getDiemTb() {
    return diemTb;
    }

    public void setDiemTb(float diemTb) {this.diemTb = diemTb;
    }
    }

    public class JavaDemoAndroidVn {

    public static void main(String[] args) {HocSinh a = new HocSinh();a.setHoTen("Vu Van T");a.setLop("At7a");a.setDiemTb(7.5f);
    System.out.println("Họ tên: " + a.getHoTen());System.out.println("Lớp: " + a.getLop());System.out.println("Điểm Tb: " + a.getDiemTb());
    }
    }

    3, Cách tự chèn các phương thức getter và setter:


    Khi bạn mới code java thì chưa nên dùng cách này, thực sự hiểu getter và setter rồi thì mới nên dùng.

    Ở cả 2 IDE phổ biến đều hỗ trợ tự chèn các phương thức getter và setter. Với những bài khi khai báo nhiều biến, dùng tính năng này sẽ rất tiện!


    Với Netbeans:

    Bạn nháy chuột phải lên vị trí soạn thảo code, chọn Insert Code

    Sau đó sẽ hiện ra 1 menu nhỏ, bạn chọn getter, setter hoặc getter and setter tùy mục đích bạn dùng!

    Bạn sẽ thấy Netbeans tự sinh code cho các phương thức đó!



    [​IMG]


    Với Eclipese:

    Bạn vào Source --> Generate Getter and Setter rồi chọn biến cần tạo phương

    thức getter và setter là được!



    [​IMG]

    hoc lap trinh java, hoc lap trinh android
     

    seoer21 thích bài này.