Cách Nạp chồng phương thức trong lập trình Java căn bản

Thảo luận trong 'Lập Trình Java' bắt đầu bởi tech360vn, 7/5/16.

Đã xem: 434

  1. tech360vn Thành Viên Tích Cực

    Thí dụ một lớp có các phương thức cùng tên nhưng có số tham số khác nhau , thì đó là nạp chồng phương thức ( Method Overloading ). Ví như anh phải thực hiện chỉ một hoạt động , có cùng tên phương thức , thì kỹ thuật này làm tăng tính có thể đọc cho chương trình. Giả sử bạn viết phương thức như a( int , int ) cho hai tham số , và b( int , int , int ) cho ba tham số , thì khi đó điều này có thể gây khó khăn cho bạn cũng như cho các lập trình viên khác để hiểu hành vi của phương thức , bởi tên của nó là khác nhau. Bởi thế , chúng tôi thực hiện nạp chồng phương thức để giúp việc phân tách chương trình nhanh hơn.

    Có hai cách để nạp chồng phương thức trong tự học Java, đó là:

    Bằng việc đổi thay số tham số

    Bằng việc đổi thay kiểu dữ liệu

    Ghi chú: Trong Java , nạp chồng phương thức là không thể bằng việc đổi thay kiểu trả về của phương thức.
    Nạp chồng phương thức và TypePromotion trong Java
    Một kiểu được promote thành một kiểu khác tuyệt đối nếu không tìm thấy kiểu dữ liệu nào được kết nối. Bạn theo dõi sơ đồ sau để hiểu khái niệm này.
    Như sơ đồ trên , byte có thể được promote thành short , int , long , float , hoặc là double. Kiểu dữ liệu short có thể được promote thành int , long , float , hoặc là double. Kiểu dữ liệu char có thể được promote thành kiểu int , long , float hoặc double và …
    giá dụ về nạp chồng phương thức với TypePromotion nếu kết nối là không được tìm thấy
    Nếu có kết nối về các tham số kiểu trong phương thức , thì TypePromotion không được thực hiện.

    class OverloadingCalculation2
    void sum( int a , int b )System.out.println( "phuong thuc int arg duoc trieu hoi" );
    void sum( long a , long b )System.out.println( "phuong thuc long arg duoc trieu hoi" );

    public static void main( String args[] )
    OverloadingCalculation2 obj=new OverloadingCalculation2( );
    obj.sum( 20 , 20 ); //Bay gio phuong thuc int arg sum( ) duoc trieu hoi


    giá dụ về nạp chồng phương thức với TypePromotion trong trường hợp lưỡng nghĩa
    Nếu không có kết nối các tham số kiểu trong phương thức , và mỗi phương thức promote số tham số Đồng dạng , thì đó là trường hợp lưỡng nghĩa.

    class OverloadingCalculation3
    void sum( int a , long b )System.out.println( "Phuong thuc a duoc trieu hoi" );
    void sum( long a , int b )System.out.println( "Phuong thuc b duoc trieu hoi" );

    public static void main( String args[] )
    OverloadingCalculation3 obj=new OverloadingCalculation3( );
    obj.sum( 20 , 20 ); //Khong co tinh luong nghia o day


    Cuối cùng là:

    Output:Compile Time Error
     
    Đang tải...
    nam lim xanh

    Bình Luận Bằng Facebook