Skip to main content

Lớp cơ sở là gì?

Một lớp cơ sở, còn được gọi là siêu lớp, là một đối tượng máy tính hoạt động như một nền tảng cho một hoặc nhiều lớp có nguồn gốc.Bất kỳ ngôn ngữ máy tính nào có khả năng kế thừa đều có thể tạo ra một lớp cơ sở.Tùy thuộc vào loại chính xác của chúng, các lớp cơ sở có thể hoặc không có khả năng khởi tạo mdash;gán giá trị ban đầu cho một đối tượng mdash;Theo cách riêng của họ, nhưng họ luôn cung cấp một số loại chức năng chung cho bất kỳ lớp nào kế thừa từ họ.Không bao giờ có giới hạn về số lượng các lớp dẫn xuất hoặc các lớp con, các lớp cơ sở có thể có, nhưng có thể có giới hạn, tùy thuộc vào ngôn ngữ máy tính, vào số lượng lớp cơ sở mà một lớp dẫn xuất có thể có.Các ngôn ngữ cho phép một lớp dẫn xuất chỉ có một cơ sở được cho là thực thi quyền thừa kế, trong khi các ngôn ngữ cho phép một lớp dẫn xuất có nhiều lớp cơ sở sử dụng nhiều lớp kế thừa. Các lớp cơ sở bê tông có thể được tự khởi tạo;Đó là, một đối tượng của loại lớp cơ sở có thể được thực hiện.Nếu một ví dụ lớp là một cơ sở cho một lớp có nguồn gốc ví dụ2, một đối tượng thuộc loại example2 và một đối tượng của ví dụ loại có thể được thực hiện.Một đối tượng của ví dụ loại chỉ có thể được thực hiện bằng cách gọi rõ ràng cho loại đối tượng đó;Tạo một đối tượng thuộc loại example2 không tạo một đối tượng thứ cấp của ví dụ loại.Trong mỗi trường hợp, loại đối tượng được tạo chỉ tạo ra một thể hiện của chính nó. Ngược lại, các lớp cơ sở trừu tượng không thể tự khởi tạo, điều đó có nghĩa là một đối tượng của lớp cơ sở không thể tự tạo.Nếu một Lớp ví dụ3 là một cơ sở trừu tượng cho một lớp dẫn xuất Ví dụ4, chỉ có thể thực hiện một đối tượng của ví dụ loại4.Mặc dù Type Assign4 bao gồm dữ liệu từ Type Assign3, việc cố gắng tạo một đối tượng chỉ loại ví dụ 3 sẽ dẫn đến lỗi.Chức năng này đôi khi có thể hữu ích, đặc biệt nếu lớp ASCLE3 chứa dữ liệu riêng tư nên được quy định chặt chẽ. Tùy thuộc vào ngôn ngữ mà nó xuất hiện, một lớp cơ sở có thể có các hành vi hơi khác nhau và tên khác nhau rõ rệt.Trong Java reg ;, Các lớp cơ sở luôn được gọi bằng tên đó, trong khi ở C ++, tùy thuộc vào cấu trúc của chúng, chúng có thể được gọi là các lớp ảo.Sự khác biệt về tên và chức năng, trong khi có ý nghĩa về các ngôn ngữ máy tính đang được sử dụng, không ngụ ý những khác biệt lớn trong nguyên tắc đằng sau các lớp.Một lớp cơ sở luôn được sử dụng để gói gọn chức năng và dữ liệu chung cho các lớp dẫn xuất của nó, bất kể ngôn ngữ.