Return to Video

21-13 Polymorphism

  • 0:00 - 0:03
    Sarah đã cho bạn xem một ví dụ khác của interface, và tôi hi vọng là
  • 0:03 - 0:07
    bạn đã quen thuộc hơn với chúng. Chúng thực sự khá tự nhiên.
  • 0:07 - 0:11
    Nhưng khi bạn nghĩ về nó, có vài thứ khó hiểu bắt đầu xảy ra.
  • 0:11 - 0:17
    Trong khung cảnh ngoại ô, ta có một ArrayList của drawables. Houses, cars, dogs và tiếp tục.
  • 0:17 - 0:21
    Chúng được lưu trong một biến kiểu Drawable, tất nhiên,
  • 0:21 - 0:25
    sau đó dùng nó gọi draw method.
  • 0:25 - 0:26
    [UNKNOWN]
  • 0:26 - 0:31
    d là kiểu drawable, và drawable có draw method. d là gì?
  • 0:31 - 0:36
    Nó là một biến, nó có tham chiếu tới một object. Object của class nào?
  • 0:36 - 0:41
    Bạn có thể sẽ nghĩ đó là object của class Drawable. Từ từ đã,
  • 0:41 - 0:46
    không có class drawable. Drawable là một interface. Không thể như thế được,
  • 0:46 - 0:52
    và sự thật là, không có cách nào để biết object này thuộc class nào.
  • 0:52 - 0:57
    Ta chỉ biết một điều, object này của một class nào đó
  • 0:57 - 1:03
    mà nó có draw method. Và sự thực là bạn lặp lại giữa các đối tượng khác nhau trong ArrayList,
  • 1:03 - 1:09
    nhưng dòng này có thể gọi các method các nhau. Draw method của House class,
  • 1:09 - 1:12
    của Dog class, hay của class nào đó, là có thật,
  • 1:12 - 1:19
    nó implement Drawable interface. Các biến thể này
  • 1:19 - 1:24
    được gọi là polymorphism (đa hình), là một từ ngữ để nói về các hình dáng khác nhau.
  • 1:24 - 1:29
    Trong khung cảnh của ta, đó là một cái tên rất phù hợp. Vì draw method
  • 1:29 - 1:34
    có thể vẽ toàn bộ các hình khác nhau, phụ thuộc vào việc implementing của class làm gì.
  • 1:34 - 1:38
    Nhưng từ "polymorphism" được dùng trong Java để cho biết trường hợp nào đó
  • 1:38 - 1:42
    mà bạn có một method call, và method call thức sự phụ thuộc vào kiểu của object.
  • 1:42 - 1:50
    Vì sao polymorphism quan trong? Nó cho phép ta xây dựng những hệ thống
  • 1:50 - 1:54
    có thể mở rộng, ta có thể thêm các kiểu mới vào, mà không làm thay đổi logic của chương trình.
  • 1:54 - 2:00
    Tôi muốn bạn thử cái này, thêm một kiểu mới
  • 2:00 - 2:07
    vào cảnh ngoại ô này. Gọi là Ball class, đơn giản là những loại bóng mà bạn có thể tìm thấy
  • 2:07 - 2:12
    nằm ở trên đường phố. Khi bạn làm thế, hãy chú ý xem sự thay đổi của bạn
  • 2:12 - 2:13
    nhỏ bé như nào.
Title:
21-13 Polymorphism
Description:

more » « less
Video Language:
English
Team:
Udacity
Project:
cs046: Intro to Programming
Duration:
02:15
TTmagic Nguyen edited Vietnamese subtitles for 21-13 Polymorphism

Vietnamese subtitles

Revisions