[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.84,0:00:05.15,Default,,0000,0000,0000,,Và chúng ta đã trở lại! Lần này, chương trình đã có đối tượng Winston, Dialogue: 0,0:00:05.15,0:00:10.02,Default,,0000,0000,0000,,nhưng ta chỉ đang hiển thị tuổi của Winston. Đó là bởi tôi muốn cho các bạn thấy Dialogue: 0,0:00:10.02,0:00:13.72,Default,,0000,0000,0000,,cách thay đổi tuổi của Winston. Vì các bạn biết đấy, Dialogue: 0,0:00:13.72,0:00:18.08,Default,,0000,0000,0000,,rồi Winston cũng sẽ già đi thôi. Hãy nhớ lại khi ta sử dụng Dialogue: 0,0:00:18.08,0:00:22.70,Default,,0000,0000,0000,,các biến đơn giản. Ta có var winstonAge = 19, sau đó nếu Dialogue: 0,0:00:22.70,0:00:27.09,Default,,0000,0000,0000,,muốn thay đổi, ta có thể nhập winstonAge = 20 Dialogue: 0,0:00:27.09,0:00:31.28,Default,,0000,0000,0000,,và như vậy sẽ làm thay đổi giá trị lưu trữ trong biến đó. Rất giống với Dialogue: 0,0:00:31.28,0:00:39.48,Default,,0000,0000,0000,,thuộc tính đối tượng. Ta có thể nhập winston.age = 20, và thế là ta đã thay đổi Dialogue: 0,0:00:39.48,0:00:43.61,Default,,0000,0000,0000,,giá trị lưu trữ trong thuộc tính age của đối tượng Winston. Dialogue: 0,0:00:43.61,0:00:44.63,Default,,0000,0000,0000,,Hay đấy. Dialogue: 0,0:00:44.63,0:00:48.57,Default,,0000,0000,0000,,Ta cùng thử xem có hiệu quả không nhé. Ta sẽ lấy lệnh text, đặt xuống dưới, Dialogue: 0,0:00:49.06,0:00:54.02,Default,,0000,0000,0000,,thay đổi y, tada! Winston đã giá hơn rồi. Dễ như ăn kẹo. Dialogue: 0,0:00:54.54,0:00:59.32,Default,,0000,0000,0000,,Được rồi, bây giờ cùng thử, ta mới chỉ thêm một thôi, Dialogue: 0,0:00:59.32,0:01:07.31,Default,,0000,0000,0000,,hãy làm có quy trình hơn một chút nhé. Ta có winston.age = winston.age + 1. Dialogue: 0,0:01:07.31,0:01:10.86,Default,,0000,0000,0000,,Cái ta đang làm ở đây là lấy giá trị trước của age Dialogue: 0,0:01:10.86,0:01:16.04,Default,,0000,0000,0000,,cộng thêm 1, rồi lưu vào thuộc tính age. Dialogue: 0,0:01:16.90,0:01:21.79,Default,,0000,0000,0000,,Từ đó giá trị trước sẽ liên tục được cộng thêm 1. Ta cùng quan sát nhé. Dialogue: 0,0:01:22.96,0:01:25.64,Default,,0000,0000,0000,,Hiển thị, và tada! Winston 21 tuổi. Dialogue: 0,0:01:25.64,0:01:30.06,Default,,0000,0000,0000,,Càng ngày càng già. Được rồi. Bây giờ, hãy nhớ lại ta có một lối tắt giúp cộng 1 vào biến, Dialogue: 0,0:01:30.06,0:01:36.80,Default,,0000,0000,0000,,và nó cũng có tác dụng tương tự đối với thuộc tính của đối tượng, vì vậy ta có winston.age ++. Dialogue: 0,0:01:37.56,0:01:44.100,Default,,0000,0000,0000,,Ta cùng xem có được không nhé. Yup! Tác dụng y hệt như dòng này, Dialogue: 0,0:01:44.100,0:01:49.14,Default,,0000,0000,0000,,nó là một lối tắt, nên ta chỉ phải gõ ít hơn. Dialogue: 0,0:01:49.14,0:01:53.33,Default,,0000,0000,0000,,Nếu nhìn vào đây, các bạn sẽ thấy nó giống như một vòng lặp for. Dialogue: 0,0:01:53.33,0:01:57.79,Default,,0000,0000,0000,,Ta lặp đi lặp lại một đoạn mã, thứ duy nhất ta thay đổi là cộng 1 Dialogue: 0,0:01:57.79,0:02:02.53,Default,,0000,0000,0000,,vào tuổi, và ta đang thay đổi vị trí y để nó hiển thị trên một dòng khác. Dialogue: 0,0:02:03.02,0:02:07.07,Default,,0000,0000,0000,,Như vậy, nếu ta sử dụng vòng lặp, thì việc thể hiện cậu ấy già đi Dialogue: 0,0:02:07.07,0:02:13.50,Default,,0000,0000,0000,,sẽ rất dễ dàng và ta không phải sử dụng nhiều mã đến thế. Giả sử, ta tạo một vòng lặp thể hiện Winston già đến 40 tuổi. Dialogue: 0,0:02:13.50,0:02:16.21,Default,,0000,0000,0000,,Cậu ta không muốn già hơn thế đâu vì lúc ấy sẽ nhăn nheo Dialogue: 0,0:02:16.26,0:02:19.25,Default,,0000,0000,0000,,và tôi sẽ phải gọi cậu ta là “Wrinkleston”. [cười] Dialogue: 0,0:02:19.25,0:02:20.32,Default,,0000,0000,0000,,Được rồi. Dialogue: 0,0:02:20.32,0:02:27.50,Default,,0000,0000,0000,,Vậy ta tạo một vòng lặp while và nhập while winston.age <= 40, Dialogue: 0,0:02:27.50,0:02:32.24,Default,,0000,0000,0000,,trong đây, ta sẽ hiển thị tuổi Dialogue: 0,0:02:32.24,0:02:37.59,Default,,0000,0000,0000,,và cộng 1 vào tuổi cho mỗi lần lặp. Dialogue: 0,0:02:37.59,0:02:42.11,Default,,0000,0000,0000,,Thế là được rồi, nhưng mọi thứ đang chồng chéo lên nhau, vì vậy ta phải thay đổi vị trí y Dialogue: 0,0:02:42.11,0:02:53.25,Default,,0000,0000,0000,,cho mỗi lần lặp. Ta sẽ nhập winston.age * 20 – 200, không, -300. Dialogue: 0,0:02:53.25,0:03:03.47,Default,,0000,0000,0000,,Được rồi, trừ 300 đi. Trông có vẻ được đấy. Xóa mấy thứ cũ đi đã. Dialogue: 0,0:03:03.47,0:03:10.28,Default,,0000,0000,0000,,Tada! Giờ ta có thể thấy Winston đang già đi trông thấy, nhưng chưa đến mức bị gọi là Wrinleston. Dialogue: 0,0:03:10.28,0:03:16.42,Default,,0000,0000,0000,,Được rồi. Khi đã biết thay đổi tuổi, ta sẽ có thể thêm thêm những thông tin khác vào Dialogue: 0,0:03:16.42,0:03:22.14,Default,,0000,0000,0000,,đối tượng Winston khi cậu ta già đi. Ví dụ, khi 30 tuổi, cậu ta sẽ gặp một lập trình viên khác Dialogue: 0,0:03:22.14,0:03:24.84,Default,,0000,0000,0000,,tên Winnefer, và kết hôn với cô ấy. Dialogue: 0,0:03:24.84,0:03:28.98,Default,,0000,0000,0000,,Và không, cậu ta không cưới cô ấy chỉ vì cái tên đẹp đâu. Dialogue: 0,0:03:28.98,0:03:33.86,Default,,0000,0000,0000,,Như vậy ta có thể thêm một thuộc tính bằng cách nhập winston chấm, rồi đến Dialogue: 0,0:03:33.86,0:03:39.34,Default,,0000,0000,0000,,khóa thuộc tính mới là wife, = Winnefer. Dialogue: 0,0:03:39.34,0:03:44.04,Default,,0000,0000,0000,,Được đấy, nhưng, ta chỉ muốn cậu ta có vợ vào độ tuổi phù hợp, các bạn biết đấy, Dialogue: 0,0:03:44.04,0:03:53.14,Default,,0000,0000,0000,,vậy ta nhập = 30 và đưa nó vào trong đây. Dialogue: 0,0:03:53.14,0:03:57.76,Default,,0000,0000,0000,,Tuyệt vời. Vậy là cậu ta đã có vợ, họ hạnh phúc, rồi vài năm sau Dialogue: 0,0:03:57.76,0:04:04.20,Default,,0000,0000,0000,,họ có con, chắc là năm 32 tuổi, ta sẽ thêm vài đứa con vào đối tượng Dialogue: 0,0:04:04.20,0:04:08.20,Default,,0000,0000,0000,,để theo dõi nhé. Họ sẽ có sinh đôi, tất nhiên rồi, vì họ năng suất lắm mà. Dialogue: 0,0:04:08.20,0:04:16.87,Default,,0000,0000,0000,,Và 2 đứa sinh đôi của họ sẽ tên là Winston Junior và Winstonia. Dialogue: 0,0:04:16.87,0:04:21.85,Default,,0000,0000,0000,,Đẹp rồi. Một gia đình hạnh phúc. Tên hay nữa. Dialogue: 0,0:04:21.85,0:04:25.40,Default,,0000,0000,0000,,Như vậy các bạn đã thấy ta có thể thêm các thuộc tính mới như chuỗi và mảng Dialogue: 0,0:04:25.40,0:04:28.52,Default,,0000,0000,0000,,hay bất kỳ giá trị nào khác vào đối tượng gốc. Dialogue: 0,0:04:28.52,0:04:33.53,Default,,0000,0000,0000,,Và khi kết thúc vòng lặp, winston.age sẽ là 40, và Winston sẽ Dialogue: 0,0:04:33.53,0:04:41.10,Default,,0000,0000,0000,,cưới vợ, tên là Winnefer, và có một cặp sinh đôi, một mảng với 2 tên. Dialogue: 0,0:04:41.10,0:04:45.94,Default,,0000,0000,0000,,Một vòng lặp thú vị. Nhưng, nếu không thích kết chuyện này cho Winston, Dialogue: 0,0:04:45.94,0:04:50.18,Default,,0000,0000,0000,,các bạn hoàn toàn có thể dựa vào chương trình này và kể câu chuyện của riêng mình về tương lai của cậu ta Dialogue: 0,0:04:50.18,0:04:54.00,Default,,0000,0000,0000,,sau khi đã nắm được cách thay đổi thuộc tính đối tượng.