Giao diện của Grid Class
Bước đầu tiên trong xây dựng một class mới là mô tả loại object nó mô hình hóa. Bạn tập trung vào các
thuộc tính và hành vi của object. Một lưới về cơ bản là một cái chứa nơi bạn tổ chức các vật theo dòng
và cột. Bạn có thể ảnh hóa một lưới như một cấu trúc hình chữ nhật với các dòng và các cột. Các dòng
được đánh số từ 0 đến số dòng trừ đi 1. Các cột được đánh số từ 0 đến số cột trừ đi 1. Không giống một
list, một lưới có một độ cao (số dòng) và một độ rộng (số cột), hơn là một chiều dài.
Constructor hay hoạt động để tạo một grid cho phép bạn chỉ ra width, height và giá trị fill ban đầu
tùy chọn cho tất cả các vị trí. Giá trị fill mặc định là None. Bạn truy cập hay thay thế một vật tại một
vị trí đã cho bằng cách chỉ ra dòng và cột của vị trí đó, sử dụng notation
grid[<row>][<column>]
Để hỗ trợ trong các hoạt động như đi qua, một grid cung cấp các hoạt động để giành height và width của nó.
Một hoạt động tìm kiếm trả về vị trí, thể hiện như (<row>, <column>) của một vật đã cho, hay giá trị
None nếu vật không có mặt trong lưới. Cuối cùng, một hoạt động xây dựng và trả về trình bày string 2
chiều của lưới. Một phiên làm việc mẫu thể hiện các hoạt động này có thể được sử dụng như thế nào:
>>> from grid import Grid
>>> grid = Grid(rows = 3, columns = 4, fillValue = 0)
>>> print(grid)
0 0 0 0
0 0 0 0
0 0 0 0
>>> grid[1][2] = 5
>>> print(grid)
0 0 0 0
0 0 5 0
0 0 0 0
>>> print(grid.find(5))
(1,2)
>>> print(grid.find(6))
None
>>> for row in range(grid.getHeight()):for column in range(grid.getWidth()):
grid[row][column] = (row, column)
>>> print(grid)
(0,0) (0,1) (0,2) (0,3)
(1,0) (1,1) (1,2) (1,3)
(2,0) (2,1) (2,2) (2,3)
Sử dụng các yêu cầu này, chúng ta có thể cung cấp giao diện cho Grid class thể hiện trong bảng dưới

