1 00:00:00,390 --> 00:00:04,014 Giờ thì chuyển sang phần thêm display method. Giả sử là 2 00:00:04,014 --> 00:00:08,326 để hiển thị một choice question trong định dạng như này. Trước tiên là text của câu hỏi. 3 00:00:08,326 --> 00:00:11,807 Tiếp theo là tất cả các lựa chọn. Và ta thêm các số 1, 2, 3, 4 vào trước 4 00:00:11,807 --> 00:00:18,100 mỗi lựa chọn để dễ phân biệt hơn. 5 00:00:18,100 --> 00:00:21,606 Phần này thì cũng dễ. Ta chỉ việc lặp qua mảng các lựa chọn 6 00:00:21,606 --> 00:00:26,074 và in chúng ra, với một con số ở trước. Và vì cái này không có liên quan gì 7 00:00:26,074 --> 00:00:29,530 tới việc học về inheritance (kế thừa), tôi sẽ đưa cho bạn đoạn code này. 8 00:00:29,530 --> 00:00:35,502 Nó ở đây. Nên ta in ra số của lựa chọn và lựa chọn đó. 9 00:00:35,502 --> 00:00:39,750 Trong Java, các lựa chọn được đánh số là 0, 1, 2, 3. 10 00:00:39,750 --> 00:00:43,314 Và ta thì muốn là 1, 2, 3, 4, nghĩa là tính bằng 11 00:00:43,314 --> 00:00:48,689 i + 1 như trên đây. Phần khó là hiển thị text của câu hỏi. 12 00:00:48,689 --> 00:00:52,595 Và, question text thì ở trong Superclass object, và ta không thể 13 00:00:52,595 --> 00:00:59,816 lấy nó trực tiếp. Hãy xem Superclass. Đây là question text, 14 00:00:59,816 --> 00:01:04,760 ta có method nào để đọc nó không? có đó. Và ta có thể gọi display, 15 00:01:04,760 --> 00:01:10,401 và sau đó nó sẽ in ra. Đó là thứ ta cần. Hãy làm thế. 16 00:01:10,401 --> 00:01:14,781 Ở đây tôi gọi display, nó sẽ hiển thị text và sau đó tôi có thể hiện thị 17 00:01:14,781 --> 00:01:20,217 các lựa chọn này. Oh, có điều gì đó không ổn ở đây, 18 00:01:20,217 --> 00:01:25,395 tôi có lỗi StackOverflow Error. Đó là do có một method 19 00:01:25,395 --> 00:01:31,828 mà gọi chính nó. Sao lại là chính nó. Xem method đang gọi display, 20 00:01:31,828 --> 00:01:37,150 và ở đây nó đang gọi chính nó. Đó là vấn đề, tôi không muốn gọi method của tôi, 21 00:01:37,150 --> 00:01:42,726 tôi muốn gọi display method của Question class cơ mà. Nên, vấn đề khó khăn là, 22 00:01:42,726 --> 00:01:47,717 có 2 method gọi là display, ở trong Superclass và ở subclass này. 23 00:01:47,717 --> 00:01:51,197 Và tên của nó giống nhau. Đó chính là vấn đề luôn xảy ra khi ta override một method. 24 00:01:51,197 --> 00:01:55,210 Giờ, có một cấu trúc đặc biệt để gọi Superclass method, 25 00:01:55,210 --> 00:02:01,145 và nó như này. Bạn đơn giản ghi là super.display() Tiếp tục và thử nó 26 00:02:01,145 --> 00:02:03,861 và sửa lỗi trong display method.