So sánh lập trình prototype và kế thừa

Hi, chuyện là em mới học javascript,

Sau khi nhìn qua bức ảnh này, em có 2 suy nghĩ:

  1. Về thời điểm chạy:
  • prototype diễn ra lúc run time, super Object được tạo ra đầu tiên lưu vào memory trước đã, các instance tạo ra sau mới tham chiếu tới prototype của Object cha ==> Vì là các instance cụ thể nên lúc runtime mới biết được quan hệ của các instance.
  • Còn viết kiểu kế thừa như trong OOP thì nó chỉ dừng lại ở mức độ thiết kế, quan hệ giữa các object diễn ra ở trong bản vẽ (blueprint) thôi.
  1. Về bộ nhớ:

    Prototype trông có vẻ ít tốn bộ nhớ hơn vì chỉ có 1 prototype cho mỗi loại Object.

    Ví dụ:

  • Trong ảnh trên nếu tạo ra 100 con thú màu nâu thì các đặc tính của 100 con này cùng trỏ vào một prototype (như trong cty 100 người mà dùng chung một cái máy in).
  • trong ảnh thứ 2 thì nếu tạo ra 100 con thú màu nâu thì các đặc tính phải tạo ra 100 lần tương ứng với mỗi con (như trong cty có 100 người mà phải mua thêm 100 máy in dùng riêng cho mỗi người gây tốn kém)

Em nhờ các anh chị xác nhận giúp và có cảm nghĩ gì sau khi xem bức ảnh này? Em cảm ơn!

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?