Các khe được liên kết với các đối tượng S4. Khe có thể được xem như một bộ phận, phần tử hoặc một "thuộc tính" của một đối tượng. Giả sử bạn có một đối tượng ô tô, sau đó bạn có thể có các vị trí "giá", "số cửa", "loại động cơ", "số dặm".
Trong nội bộ, đó là một danh sách. Một ví dụ :
setClass("Car",representation=representation(
price = "numeric",
numberDoors="numeric",
typeEngine="character",
mileage="numeric"
))
aCar <- new("Car",price=20000,numberDoors=4,typeEngine="V6",mileage=143)
> aCar
An object of class "Car"
Slot "price":
[1] 20000
Slot "numberDoors":
[1] 4
Slot "typeEngine":
[1] "V6"
Slot "mileage":
[1] 143
Ở đây, giá cả, số Nhà, loại Xe và quãng đường đi được là các vị trí của "Xe" hạng S4. Đây là một ví dụ đơn giản, trong thực tế, bản thân các khe cắm có thể là các đối tượng phức tạp.
Các khe có thể được truy cập theo nhiều cách:
> aCar@price
[1] 20000
> slot(aCar,"typeEngine")
[1] "V6"
hoặc thông qua việc xây dựng một phương pháp cụ thể (xem tài liệu bổ sung).
Để biết thêm về lập trình S4, hãy xem câu hỏi này . Nếu khái niệm này vẫn còn mơ hồ đối với bạn, phần giới thiệu chung về Lập trình hướng đối tượng có thể giúp ích cho bạn.
Tái bút: Lưu ý sự khác biệt với khung dữ liệu và danh sách, nơi bạn sử dụng $
để truy cập các biến / phần tử được đặt tên.
slot()
chức năng - nó không có nghĩa là ghi lại vị trí là gì, chỉ là cách truy cập chúng.