Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [Thiết kế Web] Tra cứu phương thức theo chuỗi kế thừa

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 11: JavaScript căn bản (2): mảng, điều kiện, vòng lặp, xử lý lỗi, đối tượng — khóa Thiết kế Web

    Cho định nghĩa một tập class dưới dạng JSON, mỗi class có "name", "parent" (tên class cha, hoặc null nếu là gốc), và "methods" (danh sách tên phương thức mà class đó tự định nghĩa/override).

    Với mỗi truy vấn (tên class, tên phương thức), mô phỏng cơ chế tra cứu phương thức theo chuỗi kế thừa (giống prototype chain trong JavaScript): bắt đầu từ class được hỏi, nếu class đó có định nghĩa phương thức thì đó là class cung cấp; nếu không, tiếp tục tìm ở class cha, cho đến khi tìm được hoặc hết chuỗi kế thừa.

    • Định dạng đầu vào:

      Dòng 1: chuỗi JSON là mảng các class, mỗi class dạng {"name":...,"parent":...,"methods":[...]}. Dòng 2: số nguyên n (số truy vấn). n dòng tiếp theo, mỗi dòng dạng "ClassName methodName".

    • Ràng buộc đầu vào:

      Số class tối đa 20, số truy vấn tối đa 30. Chuỗi kế thừa không có vòng lặp.

    • Định dạng đầu ra:

      In n dòng theo đúng thứ tự truy vấn, mỗi dòng dạng "ClassName.methodName -> ClassCungCap", hoặc "ClassName.methodName -> NOT_FOUND" nếu không lớp nào trong chuỗi kế thừa định nghĩa phương thức đó.

    Ví dụ:

    Đầu vào:

    [{"name":"Vehicle","parent":null,"methods":["describe","move"]},{"name":"Car","parent":"Vehicle","methods":["move"]},{"name":"ElectricCar","parent":"Car","methods":["charge"]}]
    4
    ElectricCar move
    ElectricCar describe
    ElectricCar charge
    ElectricCar fly
    

    Đầu ra:

    ElectricCar.move -> Car
    ElectricCar.describe -> Vehicle
    ElectricCar.charge -> ElectricCar
    ElectricCar.fly -> NOT_FOUND

    Chủ đề

    🌐 Thiết kế WebThiết kế WebThiết kế Web: JavaScript — Đối tượng, Lớp, JSON, LỗiTất cả môn học

    Đang tải editor...