Mục lục:
Định nghĩa - Kế thừa nghĩa là gì?
Kế thừa, trong C #, là khả năng tạo một lớp kế thừa các thuộc tính và hành vi từ một lớp hiện có. Lớp mới được tạo là lớp dẫn xuất (hoặc con) và lớp hiện có là lớp cơ sở (hoặc cha).
Kế thừa là một trong những tính năng chính của lập trình hướng đối tượng. Lợi ích của kế thừa là một phần lý do tại sao lập trình cấu trúc có thể được thay thế bằng lập trình hướng đối tượng.
Kế thừa trong C # được thiết kế ở cả mức độ thực hiện và ở cấp độ giao diện. Kế thừa thực hiện liên quan đến mã từ một lớp được sử dụng lại trong một lớp khác, trong khi kế thừa giao diện ngụ ý sự kế thừa chỉ các chữ ký của các hàm từ loại này sang loại khác.
Kế thừa còn được gọi là khái quát hóa.
Techopedia giải thích quyền thừa kế
C # không hỗ trợ nhiều kế thừa, có nghĩa là một lớp chỉ có thể xuất phát từ một lớp cơ sở, mặc dù một lớp có thể được lấy từ một hoặc nhiều giao diện. Do tính chất bắc cầu của thừa kế, một lớp dẫn xuất thừa hưởng tất cả các thành viên của tổ tiên của nó.
Ví dụ: các lớp, Xe hơi và Xe buýt có thể được bắt nguồn từ một lớp cơ sở, Phương tiện, thông qua thừa kế vì cả Xe và Xe buýt đều là các loại Xe.
Các tính năng chính của thừa kế bao gồm:
- Tất cả các thành viên của lớp cơ sở ngoại trừ những người có khả năng truy cập riêng tư có thể được truy cập trong lớp dẫn xuất.
- Tất cả các thành viên của lớp cơ sở được kế thừa từ lớp cơ sở ngoại trừ các hàm tạo và hàm hủy.
- Không giống như trong C ++, các phương thức ảo trong lớp dẫn xuất cần sử dụng "ghi đè" công cụ sửa đổi để ghi đè thành viên được kế thừa.
- Để ẩn một thành viên được kế thừa có cùng tên và chữ ký trong lớp dẫn xuất, công cụ sửa đổi "mới" có thể được sử dụng.
- Để ngăn việc khởi tạo trực tiếp một lớp, công cụ sửa đổi "trừu tượng" có thể được sử dụng.
- Để ngăn chặn sự phát sinh thêm của một lớp cơ sở, nó có thể được khai báo bằng cách sử dụng công cụ sửa đổi "niêm phong".
- Nó cho phép xây dựng một hệ thống phân cấp của các lớp liên quan có thể sử dụng lại, mở rộng và thay đổi các hành vi được xác định trong các lớp hiện có.
- Nó cho phép tái sử dụng mã, giảm thời gian và nỗ lực trong mã hóa và thử nghiệm.
- Nó giúp cải thiện tính mô-đun và hiệu suất bằng cách chia các đoạn mã lớn thành các phần nhỏ hơn, dễ quản lý hơn.
- Nó tạo thành phương tiện để đạt được tính đa hình, cho phép một đối tượng đại diện cho nhiều loại.
Định nghĩa này được viết trong bối cảnh của C #