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

Xem trong 'Làng Tin Tức' đăng bởi Trangcct, 29/3/15, [ Mã Tin: 18162 ] [268 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
    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.




    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 " + a.xepLoai(a.diemTB(a.toan, a.ly, a.hoa)));
    }
    }

    Ví dụ 2: Gán chiều dài, chiều rộng hình chữ nhật, hiện lên màn hình kích thước đó.

    Tính diện tích và chu vi hình chữ nhật theo cách viết code hướng đối tượng!


    ** Phân tích: Các hình chữ nhật có 2 thuộc tính là chiều dài và chiều rộng.

    - Để hiện lại chiều dài, chiều rộng , ta dùng 1 phương thức show, không có giá trị trả về, nhưng

    có giá trị biến đầu vào là chiều dài và chiều rộng hình chữ nhật!

    - Để tính diện tích và chu vi, ta tạo 2 phương thức dienTich, chuVi với 2 biến vào (đối số vào)

    là chiều rộng, chiều dài.

    - Để hiện giá trị diện tích và chu vi, ta dùng 1 phương thức showKetQua, với 2 đối số

    thực nhập vào là chu vi, diện tích hình tròn.

    - Cuối bài, thử tạo 1 phương thức show ra chữ ký kết thúc bài, sẽ không có đối số nào!

    Nó chỉ hiện ra 1 dòng ký tự.

    Code như sau:

    PHP:

    package javademoandroidvn;

    class HCN {

    public float chieuDai;
    public float chieuRong;

    public void showChieuDai(float dai, float rong) {System.out.println("Hình chữ nhật có kích thước: ");System.out.println("Chiều dài: " + dai);System.out.println("Chiều rộng: " + rong);
    }

    public float chuVi(float dai, float rong) {
    return (dai + rong) * 2;
    }

    public float dienTich(float dai, float rong) {
    return dai * rong;
    }

    public void showKetQua(float cv, float dt) {System.out.println("Chu vi hình chữ nhật là: " + cv);System.out.println("Diện tích hình chữ nhật là " + dt);
    }

    public void showChuKy() {System.out.println("Kết thúc bài tính toán hình chữ nhật, xin chào, hẹn gặp lại bạn ở bài tiếp theo!");
    }
    }

    public class JavaDemoAndroidVn {

    public static void main(String[] args) {HCN a = new HCN();a.chieuDai = 6.0f;a.chieuRong = 10.0f;a.showChieuDai(a.chieuDai, a.chieuRong);a.showKetQua(a.chuVi(a.chieuDai, a.chieuRong), a.dienTich(a.chieuDai, a.chieuRong));a.showChuKy();
    }
    }


    hoc lap trinh java, hoc lap trinh android
     

    hoabt thích bài này.