Ôn tập: Điểm chuyển động
Thuộc phần Lập trình hướng đối tượng trong hành trình Lua của Coddy. Bài học 5 trên 70.
Thử thách
DễTạo một bảng có tên point với hai trường:
x- tọa độ xy- tọa độ y
Thêm phương thức :move(dx, dy) dùng cú pháp dấu hai chấm để cộng dx vào self.x và dy vào self.y.
Bạn sẽ nhận được bốn đầu vào:
- Tọa độ x ban đầu
- Tọa độ y ban đầu
- Độ dịch chuyển theo x (khoảng cách di chuyển theo chiều ngang)
- Độ dịch chuyển theo y (khoảng cách di chuyển theo chiều dọc)
Sau khi tạo điểm với tọa độ ban đầu và gọi :move() với các giá trị dịch chuyển, hãy in vị trí cuối cùng theo đúng định dạng sau:
[x], [y]Ví dụ: nếu vị trí ban đầu là (3, 5) và bạn di chuyển một đoạn (2, -1), đầu ra sẽ là:
5, 4Tự làm thử
-- Đọc các giá trị đầu vào
local initial_x = tonumber(io.read())
local initial_y = tonumber(io.read())
local dx = tonumber(io.read())
local dy = tonumber(io.read())
-- TODO: Viết code bên dưới
-- 1. Tạo một bảng tên là 'point' với các trường x và y (dùng tọa độ ban đầu)
-- 2. Thêm phương thức :move(dx, dy) bằng cú pháp dấu hai chấm để thay đổi self.x và self.y
-- Gọi phương thức move và in kết quả
point:move(dx, dy)
print(point.x .. ", " .. point.y)Tất cả bài học trong Lập trình hướng đối tượng
1Khái niệm “self”
Bảng với hàm“self” tường minhCú pháp dấu hai chấmDấu chấm và dấu hai chấmÔn tập: Điểm chuyển động4Dự án: Ngân hàng số
Thiết lập dự ánPhương thức nạp tiền2Mẫu Prototype cho lớp
Khái niệm PrototypeLiên kết bằng __indexHàm khởi tạo :new()Khởi tạo thuộc tínhCác instance độc lậpÔn tập: Nhà máy ô tô5Nạp chồng toán tử trong OOP
Cộng các đối tượngTrừ các đối tượngNối các đối tượngSo sánh các đối tượng (<, >)Ôn tập: phép tính với ví tiền8Đóng gói
Quy ước đặt tênClosure để bảo mậtTruy cập qua closureBảng chỉ đọcLogic kiểm tra hợp lệTổng kết: Két an toàn11Mẫu thiết kế (cơ bản)
Hàm tạo đối tượngBảng SingletonMẫu IteratorObserver (Listener)Ôn tập: Factory Logger3Trạng thái và hành vi của đối tượng
Biến instancePhương thức getterPhương thức setterThuộc tính tính toánĐịnh dạng chuỗiKiểm tra tính bằng nhauÔn tập: điểm số học sinh6Cơ bản về kế thừa
Thiết lập kế thừaKế thừa phương thứcMở rộng hàm khởi tạoThêm phương thức cho lớp conDùng chung và riêngÔn tập: hệ phân cấp hình dạngTự luyện tập: Trình biên dịch Lua online