Video: C++ 57: Tính kế thừa 2024
Tôi nheritance trong C + + khả năng của một lớp kế thừa khả năng hoặc thuộc tính từ một lớp khác. Thừa kế là một khái niệm chung. Bạn kế thừa những đặc tính nhất định từ lớp Con người, như khả năng nói chuyện của tôi (nhiều hay ít) một cách thông minh và sự phụ thuộc của tôi vào chất dinh dưỡng từ không khí, nước, và carbohydrate (hơi quá phụ thuộc vào thứ hai).
Những đặc tính này không phải là duy nhất cho con người. Lớp Con người thừa hưởng sự phụ thuộc vào không khí, nước và dưỡng chất từ lớp Mammal, được thừa hưởng nó từ động vật Động vật.
Khả năng truyền xuống tài sản là một tính năng mạnh mẽ. Nó cho phép bạn mô tả những điều một cách kinh tế. Ví dụ, nếu ai đó hỏi, "vịt là gì? "Bạn có thể nói," Đó là một con chim mà quack. "
Bất kể những gì bạn nghĩ, câu trả lời đó truyền tải một lượng thông tin đáng kể. Anh ta biết chim là gì, và bây giờ anh ta biết tất cả những điều tương tự về một con vịt cộng thêm tài sản bổ sung của vịt "quackness. "
C ++ cho phép một lớp kế thừa một lớp khác như sau:class Student {}; class GraduateStudent: sinh viên công cộng {};
Ở đây,
GraduateStudent kế thừa tất cả thành viên của Sinh viên. Vì vậy, Sinh viên tốt nghiệp IS_A Sinh viên . (Việc viết hoa của IS_A nhấn mạnh tầm quan trọng của mối quan hệ này.) Tất nhiên, GraduateStudent cũng có thể chứa các thành viên khác độc nhất GraduateStudent .
Giả sử bạn có Sinh viên lớp, và bạn được yêu cầu thêm một lớp học mới gọi là GraduateStudent. Tính kế thừa có thể giảm đáng kể số lượng những thứ bạn phải đặt trong lớp. Tất cả những gì bạn thực sự cần trong lớp GraduateStudent là những điều mô tả sự khác nhau giữa sinh viên và sinh viên tốt nghiệp. Một tác dụng phụ khác liên quan đến sửa đổi phần mềm. Giả sử bạn thừa hưởng từ một số lớp hiện có. Sau đó, bạn thấy rằng lớp cơ sở không thực hiện chính xác những gì phân lớp cần.Hoặc có lẽ lớp học có lỗi.
Việc sửa đổi lớp cơ sở có thể làm hỏng mã khác sử dụng lớp cơ sở đó. Tạo và sử dụng một phân lớp mới có quá tải tính năng không chính xác với một phiên bản đã được sửa chữa giải quyết vấn đề của bạn mà không gây ra vấn đề nào khác cho người khác.