JAVA CORE - Trang 19

Trong một chương trình có cấu trúc (a structured program), một phương thức chỉ ứng
dụng cho một đối tượng. Chẳng hạn xét toán tử ‘Cộng’. Toán tử này chỉ tính tổng của hai
số nguyên. Khi truyền hai giá trị 2 và 3 thì nó hiển thị 5. Chúng ta không thể có một loại
toán tử ‘Cộng’ để tính tổng của hai giá trị văn bản (text) ‘Hello!’ và ‘How are you?’ để có
được chuỗi văn bản kết quả ‘Hello! How are you?’

Trong hệ thống hướng đối tượng thì tình huống mô tả trên là khả thể.

Định nghĩa

Tính đa hình cho phép một phương thức có các tác động khác nhau trên nhiều loại đối
tượng khác nhau.

Với tính đa hình, nếu cùng một phương thức ứng dụng cho các đối tượng thuộc các lớp
khác nhau thì nó đưa đến những kết quả khác nhau. Bản chất của sự việc chính là phương
thức này bao gồm cùng một số lượng các tham số.

Tính đa hình là một trong những đặc tính quan trọng nhất của hệ thống hướng đối tượng.

Một ví dụ khác là phương thức hiển thị. Tùy thuộc vào đối tượng tác động, phương thức ấy
có thể hiển thị một chuỗi, hoặc vẽ một đường thẳng, hoặc hiển thị một hình ảnh. Hãy
khảo sát hình sau:













Hình trên cho thấy rằng ‘Vẽ’ là một phương thức được chia sẻ giữa các lớp con của lớp
‘Hình thể’. Tuy nhiên, phương thức Vẽ được ứng dụng cho hình hộp sẽ khác với hình êlip.

Tính đa hình hỗ trợ tính đóng gói.

Xét trên mức độ người sử dụng, họ chỉ cần một phương thức ‘Vẽ’ của lớp ‘Hình thể’. Còn
cách thức mà phương thức ‘Vẽ’ được thực thi cho các trường hợp khác nhau thì họ không
cần biết.

1.11 Những thuận lợi của Phương pháp hướng Đối tượng

Lập trình hướng đối tượng đòi hỏi một sự chuyển hướng quan trọng trong tư duy của các
lập trình viên. Phương pháp này làm cho tốc độ phát triển các chương trình mới nhanh

Lớp: Hình thể

Các phương
thức:
Vẽ
Di chuyển
Khởi tạo

Các lớp con

Hình 1.5: Lớp ‘Hình thể’ và các lớp con

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.