Và chúng ta đã trở lại! Lần này, chương trình đã có đối tượng Winston,
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
cách thay đổi tuổi của Winston. Vì các bạn biết đấy,
rồi Winston cũng sẽ già đi thôi. Hãy nhớ lại khi ta sử dụng
các biến đơn giản. Ta có var winstonAge = 19, sau đó nếu
muốn thay đổi, ta có thể nhập winstonAge = 20
và như vậy sẽ làm thay đổi giá trị lưu trữ trong biến đó. Rất giống với
thuộc tính đối tượng. Ta có thể nhập winston.age = 20, và thế là ta đã thay đổi
giá trị lưu trữ trong thuộc tính age của đối tượng Winston.
Hay đấy.
Ta cùng thử xem có hiệu quả không nhé. Ta sẽ lấy lệnh text, đặt xuống dưới,
thay đổi y, tada! Winston đã giá hơn rồi. Dễ như ăn kẹo.
Được rồi, bây giờ cùng thử, ta mới chỉ thêm một thôi,
hãy làm có quy trình hơn một chút nhé. Ta có winston.age = winston.age + 1.
Cái ta đang làm ở đây là lấy giá trị trước của age
cộng thêm 1, rồi lưu vào thuộc tính age.
Từ đó giá trị trước sẽ liên tục được cộng thêm 1. Ta cùng quan sát nhé.
Hiển thị, và tada! Winston 21 tuổi.
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,
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 ++.
Ta cùng xem có được không nhé. Yup! Tác dụng y hệt như dòng này,
nó là một lối tắt, nên ta chỉ phải gõ ít hơn.
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.
Ta lặp đi lặp lại một đoạn mã, thứ duy nhất ta thay đổi là cộng 1
vào tuổi, và ta đang thay đổi vị trí y để nó hiển thị trên một dòng khác.
Như vậy, nếu ta sử dụng vòng lặp, thì việc thể hiện cậu ấy già đi
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.
Cậu ta không muốn già hơn thế đâu vì lúc ấy sẽ nhăn nheo
và tôi sẽ phải gọi cậu ta là “Wrinkleston”. [cười]
Được rồi.
Vậy ta tạo một vòng lặp while và nhập while winston.age <= 40,
trong đây, ta sẽ hiển thị tuổi
và cộng 1 vào tuổi cho mỗi lần lặp.
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
cho mỗi lần lặp. Ta sẽ nhập winston.age * 20 – 200, không, -300.
Được rồi, trừ 300 đi. Trông có vẻ được đấy. Xóa mấy thứ cũ đi đã.
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.
Đượ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
đố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
tên Winnefer, và kết hôn với cô ấy.
Và không, cậu ta không cưới cô ấy chỉ vì cái tên đẹp đâu.
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
khóa thuộc tính mới là wife, = Winnefer.
Đượ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,
vậy ta nhập = 30 và đưa nó vào trong đây.
Tuyệt vời. Vậy là cậu ta đã có vợ, họ hạnh phúc, rồi vài năm sau
họ có con, chắc là năm 32 tuổi, ta sẽ thêm vài đứa con vào đối tượng
để theo dõi nhé. Họ sẽ có sinh đôi, tất nhiên rồi, vì họ năng suất lắm mà.
Và 2 đứa sinh đôi của họ sẽ tên là Winston Junior và Winstonia.
Đẹp rồi. Một gia đình hạnh phúc. Tên hay nữa.
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
hay bất kỳ giá trị nào khác vào đối tượng gốc.
Và khi kết thúc vòng lặp, winston.age sẽ là 40, và Winston sẽ
cưới vợ, tên là Winnefer, và có một cặp sinh đôi, một mảng với 2 tên.
Một vòng lặp thú vị. Nhưng, nếu không thích kết chuyện này cho Winston,
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
sau khi đã nắm được cách thay đổi thuộc tính đối tượng.