Tình huống mơ hồ

Một phần của tài liệu GIÁO TRÌNH JAVA cơ bản (Trang 39)

Khi nạp chồng hàm, bạn có thể gặp những tình huống mà bộ biên dịch không

thể xác định Method nào được sử dụng, ví dụ:

Trường hợp 1: Đúng ý chúng ta.

{

public static void main (String[] args) { double a; int i; a=6.0; i=8; KetQua(a); KetQua(i); }

public static void KetQua(double a) {

System.out.println("ket qua ="+(a+1)); }

public static void KetQua(int i ) {

System.out.println("ket qua="+(i+2)); }

}

Khi chạy sẽ cho ta kết quả:

ket qua=7.0 ket qua=10

Trường hợp 2:

public class chaoban {

public static void main (String[] args) {

int i; i=8;

KetQua(i); }

public static void KetQua(double a) {

System.out.println("ket qua="+(a+1)); }

Biến nguyên i được chuyển sang double cho phù hợp với khai báo của hàm KetQua(). Kết quả sau khi chạy chương trình sẽ là:

ket qua=9.0 (mặc dù ta muốn là 9 - số nguyên)

Trường hợp 3:

public class chaoban {

public static void main (String[] args) {

double a; a=6.0;

KetQua(a); }

public static void KetQua(int i) {

System.out.println("ket qua="+(i+2)); }

}

Khi chạy sẽ báo lỗi, vì không thể biến có kiểu double chuyển sang int đ ược. Ngoài ra giả sử nếu găp hai Method sau:

void Tong(int i) và int Tong(int i) (adsbygoogle = window.adsbygoogle || []).push({});

Máy sẽ không biết gọi Method nào. Tóm lại bạn hãy cảnh giác với việc nạp

chồng method để tránh những “tình huống mơ hồ” trên.

Bài tập:

1. Class là gì cho ví dụ

2. Kế thừa là gì cho ví dụ 3. Đa hình là gì cho ví dụ

4. Thế nào là nạp chồng hàm cho ví dụ

5. Hãy cho một ví dụ về tình huống mơ hồ

6. Cho mảng A có 100 phần tử nguyên, hãy gán các phần tử cho mảng và sắp

xếp giảm dần

7. Cũng như câu hỏi 1 nhưng các phần tử mảng là văn bản

8. Từ việc giải phương trình bậc hai, kế thừa để giải phương trình trùng phương

9. Từ tuyển sinh khối A cho Tr ường X, hãy xây dựng đa hình với phương thức in

Một phần của tài liệu GIÁO TRÌNH JAVA cơ bản (Trang 39)