Skip to main content

Một mảng lớp là gì?

Trong lập trình máy tính theo định hướng đối tượng, một mảng lớp có thể tham khảo một trong hai loại cấu trúc dữ liệu.Một số lập trình viên sử dụng thuật ngữ này để mô tả một loại dữ liệu mảng tiêu chuẩn được tạo thành từ các phần tử là các thể hiện đối tượng của một lớp nhất định.Nó cũng có thể là một đối tượng được đóng gói của mảng lớp, còn được gọi là đối tượng trình bao bọc, được sử dụng thay cho mảng vô hướng để cung cấp nhiều phương pháp khác nhau để sử dụng để quản lý mảng.Mặc dù có thể có chức năng phức tạp hơn, lớp mảng bao bọc thực sự không khác nhau về khái niệm so với các đối tượng trình bao bọc cho các loại dữ liệu vô hướng khác như số nguyên hoặc ký tự.Trong cả hai trường hợp, cấu trúc chỉ có thể được sử dụng trong bối cảnh ngôn ngữ lập trình theo định hướng đối tượng hỗ trợ các lớp.lớp cụ thể.Điều này thường được thực hiện khi giữ một loạt các đối tượng, đặc biệt là khi số lượng đối tượng tối đa được biết đến để mảng không được khai báo với số lượng phần tử quá mức.Các cơ chế đa hình trong lập trình hướng đối tượng có nghĩa là việc sử dụng một mảng lớp có thể rất năng động, bởi vì nó có thể giữ một siêu lớp chung, cho phép nhiều lớp con được tổ chức như các yếu tố mặc dù các triển khai khác nhau của chúng.Tuy nhiên, một biến chứng khi sử dụng mảng lớp có thể phát sinh khi số lượng phần tử không rõ và phát triển lớn hơn kích thước xác định của mảng hoặc rất nhỏ, để lại không gian bộ nhớ lãng phí được phân bổ bằng mảng.Một giải pháp là sử dụng các đối tượng loại thu thập như vectơ hoặc danh sách mảng thay vì một mảng vô hướng không thể thay đổi kích thước. Định nghĩa thứ hai của mảng lớp là một đối tượng chứa mảng vô hướng nhưng cũng cung cấp một số phương pháp để thao tácvà thay đổi mảng.Một số ngôn ngữ thực hiện phân loại rất hiệu quả và tìm kiếm các thuật toán trong trình bao bọc mảng lớp.Một lợi thế khác trong việc sử dụng một mảng được triển khai như một lớp là lớp có thể dễ dàng được truyền và thay đổi bởi các chức năng và phương thức khác nhau, đặc biệt là nếu lớp mảng cơ sở được gửi từ một lớp đối tượng chung.Mảng lớp thường là cơ sở cho các loại lớp dựa trên mảng khác trong thư viện lập trình, chẳng hạn như danh sách ArrayList hoặc bảng băm.Ngoài ra, một số ngôn ngữ cho phép lớp mảng được mở rộng, có nghĩa là người dùng có thể xác định lại một số phương thức cơ bản với các triển khai chuyên dụng hơn trong khi vẫn giữ chức năng cốt lõi của lớp.