Tính Đa Hình Là Gì ? Tính Đa Hình Trong Lập Trình Hướng Đối Tượng

      69
Khóa học Lập trình Lập trình C# .Net Lập trình OOPhường cùng với C# Đa hình vào Lập trình hướng đối tượng

Dẫn nhập

Tại những bài học kinh nghiệm trước, họ đang với mọi người trong nhà khám phá về KẾ THỪA TRONG LẬPhường. TRÌNH HƯỚNG ĐỐI TƯỢNG . Hôm ni bọn họ vẫn thuộc khám phá về Đa hình trong C#.

Bạn đang xem: Tính Đa Hình Là Gì ? Tính Đa Hình Trong Lập Trình Hướng Đối Tượng

Nội dung

Để phát âm đọc bài này tốt nhất có thể các bạn đề nghị có kỹ năng cơ phiên bản về những phần:

Trong bài học này, chúng ta sẽ thuộc tò mò những vấn đề:

Khái niệm tính nhiều hình.Từ khoá virtual cùng keywords override.Lớp trừu tượng cùng thủ tục thuần ảo.

Khái niệm tính đa hình

Tính nhiều hình là hiện tượng lạ những đối tượng người sử dụng thuộc những lớp không giống nhau hoàn toàn có thể hiểu thuộc 1 thông điệp theo các cách không giống nhau.

Một ví dụ về nhiều hình trong thực tế. Ta tất cả 3 bé vật: chó, mèo, lợn. Cả 3 con vật này đầy đủ là động vật hoang dã. Nhưng lúc ta bảo cả 3 động vật kêu thì bé chó sẽ kêu gâu gâu, con mèo vẫn kêu meo meo với con heo đang kêu ẹt ẹt.

Trong ví dụ trên 3 nhỏ vật: chó, mèo, lợn xem như thể các đối tượng người tiêu dùng. Việc ta bảo 3 động vật hoang dã kêu đó là thông điệp. Rõ ràng cả 3 con vật rất có thể gọi thuộc 1 thông điệp là kêu theo những bí quyết khác nhau.

Để biểu hiện được tính nhiều hình:

Các lớp cần tất cả quan hệ nam nữ thừa kế với một lớp cha nào kia.Pmùi hương thức đa hình đề xuất được ghi đtrằn (override) làm việc những lớp nhỏ (sẽ được trình diễn tức thì sau đây).

Từ khoá virtual với keyword override

Virtual là keywords dùng để làm knhị báo 1 thủ tục ảo (cách thức ảo là thủ tục có thể ghi đtrằn được).

Override là keywords dùng để làm đánh dấu cách làm ghi đè lên trên cách thức của lớp cha.

Lưu ý:

Chỉ có thể ghi đè lên thủ tục virtual hoặc abstract (đang trình bày tức thì sau đây).Tính nhiều hình chỉ được biểu hiện Lúc vẫn ghi đè lên thủ tục của lớp phụ vương.

lấy một ví dụ minch hoạ:

Ta có 3 lớp Animal, Cat, Dog. Trong số đó Cat cùng Dog kề thừa từ bỏ lớp Animal. Trong các lớp đều có thủ tục Speak().

class Animal public void Speak() Console.WriteLine(" Animal is speaking. . ."); class Cat : Animal public void Speak() Console.WriteLine(" Cat is speaking. . ."); class Dog : Animal public void Speak() Console.WriteLine(" Dog is speaking. . ."); Ta có đoạn chương trình trong hàm main như vậy này:

Animal cát = new Cat(); Animal dog = new Dog(); cát.Speak(); dog.Speak();Ta mong ước lịch trình đã hotline đúng phương thức Speak() của lớp đã được cấp phép vùng nhớ. Nhưng thực tiễn chưa hẳn vậy.

*

Lúc này ta rất cần phải override thủ tục Speak() của lớp phụ thân (lớp Animal) với nhằm override được thì ta đề nghị khai báo thủ tục Speak() của lớp phụ vương là phương thức ảo (virtual).

class Animal public virtual void Speak() Console.WriteLine(" Animal is speaking. . ."); class Cat : Animal public override void Speak() Console.WriteLine(" Cat is speaking. . ."); class Dog : Animal public override void Speak() Console.WriteLine(" Dog is speaking. . ."); Chạy lại hàm main bên trên ta được:

*

Đây cũng đó là ví dụ sử dụng tính nhiều hình.

Ta thấy 2 đối tượng người tiêu dùng dog, cát được cấp phép 2 khoảng nhớ ở trong 2 lớp 2 khác biệt cơ mà khi thuộc gọi pmùi hương thức Speak() thì đối tượng tmê mẩn chiếu cho vùng ghi nhớ của lớp làm sao sẽ tiến hành điện thoại tư vấn đúng cách thức của lớp đó.

Xem thêm: Size 2Xl Là Gì?Size Xxl Là Gì ?Size Xxl Là Bao Nhiêu Kg? Cách Chọn Size Áo

Lớp trừu tượng và cách tiến hành thuần ảo

Phương thức thuần ảo là 1 trong phương thức ảo cùng không có định nghĩa phía bên trong.

Lớp trừu tượng là lớp cất thủ tục thuần ảo.

Abstract là từ khoá dùng làm khai báo 1 lớp trừu tượng hoặc 1 cách tiến hành thuần ảo.

Xét lại ví dụ bên trên, Tại trên đây ta xem xét lại phương thức Speak() của lớp Animal ta nhận ra phần có mang của thủ tục này chỉ cần hiệ tượng sau đó cũng biến thành bị các lớp thừa kế ghi đè lên trên.

Việc khái niệm nội dung thủ tục không có chức năng gì vậy tại sao ta lại đề xuất có mang chúng?

Câu vấn đáp đã làm được C# giải đáp qua keywords abstract. Ở đây ta thực hiện abstract nhằm nhấn mạnh vấn đề 2 điều:

Phương thơm thức Speak() có thể ghi đnai lưng (override).Pmùi hương thức Speak() không có tư tưởng gì phía bên trong.

Để knhị báo lớp trừu tượng và phương thức thuần ảo ta chỉ việc thêm khoá abstract vào trước tên lớp với tên thủ tục.

abstract class Animal /* Khai báo cách thức thuần ảo bắt buộc ko đề nghị định nghĩa nội dung cho phương thức */ public abstract void Speak(); lúc chạy công tác các trang bị vẫn ra đúng suôn sẻ.

Lưu ý:

Lúc kế thừa 1 lớp trừu tượng bạn cần phải override tất cả các thủ tục thuần ảo nhằm đảm bảo an toàn tính hòa hợp lệ mang đến công tác.

Kết luận

Nội dung bài này giúp các bạn vắt được:

Khái niệm tính nhiều hình.Từ khoá virtual và từ khóa override.Lớp trừu tượng với cách thức thuần ảo.

Bài sau họ đang khám phá về INTERFACE TRONG LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG.

Cảm ơn chúng ta vẫn quan sát và theo dõi nội dung bài viết. Hãy giữ lại comment hoặc góp ý của mình để cải tiến và phát triển nội dung bài viết giỏi hơn. Đừng quên “Luyện tập – Thử thách – Không hổ ngươi khó”.

Tải xuống


Tài liệu

Nhằm ship hàng mục tiêu tiếp thu kiến thức Offline của cộng đồng, Kteam cung cấp anh tài tàng trữ ngôn từ bài học kinh nghiệm Đa hình vào Lập trình hướng đối tượng bên dưới dạng tệp tin PDF trong liên kết dưới.

Dường như, chúng ta cũng có thể tìm thấy những tài liệu được góp phần trường đoản cú xã hội sinh sống mục TÀI LIỆU trên tlỗi viện gocnhintangphat.com.com

Đừng quên likeshare để cỗ vũ Kteam với tác giả nhé!

*

Thảo luận

Nếu các bạn có ngẫu nhiên khó khăn xuất xắc vướng mắc gì về khóa huấn luyện, chớ rụt rè đặt thắc mắc trong phần BÌNH LUẬN dưới hoặc trong mục HỎI và ĐÁP bên trên tlỗi viện gocnhintangphat.com.com để cảm nhận sự cung cấp tự xã hội.