Tính nhiều hình vào OOP là một ngôn từ không mới, nhưng không nhiều người thực sự làm rõ về quan niệm này. Bài viết sẽ phân tích và lý giải về Tính đa hình cũng giống như giới thiệu về các loại nhiều hình mà bạn phải biết.Bạn đã xem: Tính đa hình là gì

Tổng quan về tính đa hình vào OOP

Khái niệm

Tính đa hình (Polymorphism) là 1 trong những trong bốn đặc thù cơ phiên bản của xây dựng hướng đối tượng người sử dụng (Object-oriented programming – viết tắt là OOP). Các tính chất còn lại bao gồm: Tính đóng gói (Encapsulation), Tính thừa kế (Inheritance) cùng Tính trừu tượng (Abstraction).

Bạn đang xem: Đa hình là gì

Trong giờ đồng hồ Hy Lạp, thuật ngữ “polymorphism” mang ý nghĩa là “có các dạng”. Tương tự, trong lập trình thuật ngữ này dùng để ám chỉ đến sự việc một biến, một hàm hoặc một phương thức rất có thể tồn tại ở các dạng khác nhau. Tức là nhiều hàm hoặc phương thức hoàn toàn có thể cùng một tên nhưng tác dụng thực sự của chúng lại khác nhau.

Mục đích của Tính nhiều hình

Lập trình viên rất có thể tận dụng Tính đa hình vào OOP vào phần đa trường phù hợp sau:

Khi những lớp con đề nghị dùng thủ tục của lớp phụ vương để bổ sung cập nhật cho một phương thức khác.Khi một lớp cần phải có nhiều cách tiến hành cùng tên dẫu vậy khác tham số (parameter).
*

Nhìn chung, trường hợp lập trình viên tận dụng được tính đa hình thì sẽ mang đến nhiều tác dụng trong quá trình phát triển phần mềm. Những công dụng đó rất có thể là:

Minh họa về tính đa hình

Tính đa hình vào đời sống

Bạn thử tưởng tượng nếu như bạn yêu cầu những người dân sau thực hiện hành động “CẮT”:

Bác sĩ phẫu thuậtNhà tạo thành mẫu tócDiễn viên

Khi đó, chuyện gì đang xảy ra?

Bác sĩ phẫu thuật mổ xoang sẽ ban đầu rạch dao mổ.Nhà tạo nên mẫu sẽ bắt đầu cắt tóc cho một ai đó.Nam diễn viên sẽ hoàn thành diễn cảnh hiện nay tại, đợi đạo diễn phía dẫn.

Ví dụ trên cho thấy thực chất của Tính đa hình. Nó bảo hộ cho câu hỏi cùng một tên gọi nhưng hành động thì không giống nhau.

Tính nhiều hình trong OOP

Sau đó là một ví dụ về tính chất đa hình trong OOP được viết theo ngôn ngữ lập trình Python.


*

Minh họa về tính chất đa hình vào OOP của ngữ điệu Python.

Từ đoạn mã trên, bọn họ thấy rằng trong chương trình gồm hai hàm cùng sở hữu tên là “print”. Tuy nhiên, nhì hàm lại sở hữu tham số không giống nhau. Vì đó, công dụng của nhị hàm này cũng hoàn toàn khác nhau. Thế thể:

Hàm print đầu tiên có tham số hình dáng chuỗi (string). Vày vậy, mục đích của hàm này là để in một chuỗi ra màn hình.Hàm print thứ hai bao gồm tham số kiểu list (list). Vày vậy, mục đích của hàm này là nhằm in một danh sách ra màn hình. Vào trường vừa lòng trên là list kiểu số nguyên (int).

Các các loại đa hình cần biết

Theo đó, Tính đa hình được cho phép một phương thức triển khai những hành vi khác biệt theo nhì hướng: áp dụng phương thức ghi đè (method overriding) hoặc cách thức nạp ông xã (method overloading).

Đa hình thời gian chạy

Đây là trường thích hợp một đối tượng người sử dụng bị buộc ràng với chức năng của chúng ngay tại thời gian chương trình sẽ chạy.

Đa hình thời hạn chạy áp dụng phương thức ghi đè. Thay thể, lớp nhỏ sẽ dùng lại một cách tiến hành cùng thương hiệu với cách làm sẵn bao gồm của lớp cha.


*

Minh họa về cách thức ghi đè trong ngôn ngữ lập trình Python.

Đa hình thời gian biên dịch

Đây là trường thích hợp một đối tượng người sử dụng bị buộc ràng với tính năng của chúng ngay tại thời gian chương trình đã biên dịch.

Đa hình thời hạn biên dịch thực hiện phương thức hấp thụ chồng. Cụ thể, các phương thức hoặc hàm có thể cùng tên, tuy thế sẽ khác một số trong những tham số (parameter) được truyền vào vào lệnh gọi. Tùy vào con số tham số được truyền vào cơ mà phương thức đó sẽ cho ra các kết quả khác nhau.

Lưu ý về tính đa hình

Vẫn còn một điểm mà các bạn cần chú ý về Tính nhiều hình. Đó là mỗi ngôn ngữ lập trình không giống nhau lại gồm cách tiếp cận khác nhau. Chẳng hạn, Java, C ++ có cung ứng phương thức nạp ông xã nhưng Python, JavaScript thì không.

Trong Python, chúng ta cũng có thể dùng cách làm nạp ông chồng nhưng lịch trình sẽ chỉ ghi lưu giữ lần khởi sản xuất cuối cùng. Vị đó, khi sử dụng ngôn ngữ nào thì bạn phải nghiên cứu thật cẩn thận về Tính đa hình của ngôn ngữ bạn đang sử dụng để làm chủ nó xuất sắc hơn.

Tóm lại, Tính nhiều hình là một trong tính hóa học hay nhưng lập trình viên đề xuất tận dụng. Hy vọng qua bài xích viết, các các bạn sẽ có ánh mắt rõ ràng rộng về Tính đa hình trong OOP.

Xem thêm: Luyện Tập Trang 110 Giải Toán Lớp 5 Trang 110, Luyện Tập Tiết 106

Tham khảo: Geeksforgeeks.org

Nếu các bạn quan tâm, hãy xem các vị trí đang tuyển dụng của Got It tại: bit.ly/gotit-hanoi và xem thêm về quá trình tuyển dụng trên đây.