Return to Video

21-08 House Equals New Dog

  • 0:00 - 0:05
    Câu trả lời là lỗi: "imcompatible types". Chó không phải là một loại Nhà.
  • 0:05 - 0:09
    Nếu bạn cố lưu một con Chó trong một biến được tạo để lưu một Ngôi nhà,
  • 0:09 - 0:15
    bạn sẽ bị compile time error. Nếu Java mà cho phép bạn lưu Dog trong biến House,
  • 0:15 - 0:21
    bạn sau đó có thể thử gọi House methods trên con chó.
  • 0:21 - 0:25
    Và con Chó sẽ không biết cách làm chúng. Có lỗi này đúng là một điều tốt.
  • 0:25 - 0:28
    Nghĩa là Java đang giúp ta. Cái này là một trong những thứ mà ta đã nói
  • 0:28 - 0:32
    khi đề cập rằng Java là một ngôn ngữ an toàn.
  • 0:32 - 0:36
    Nếu Java để cho bạn tạo một Con Chó và lưu nó vào House, bạn có thể thử sống trong nó sau,
  • 0:36 - 0:41
    và sẽ fail thôi. Nhưng thay vì làm vậy, compiler sẽ ngay lập tức nói với bạn là
  • 0:41 - 0:44
    có điều gì đó không ổn với code của bạn. Các ngôn ngữ khác có thể sẽ cho phép bạn
  • 0:44 - 0:47
    vẫn chạy được code, và sau đó sẽ trả về một kết quả kỳ lạ nào đó.
  • 0:47 - 0:52
    Cái lựa chọn thứ 3 này không phải cái ta muốn. Nó có thể xuất hiện,
  • 0:52 - 0:57
    nếu Dog là một interface. Nếu bạn cố tạo một new Drawable,
  • 0:57 - 1:01
    rồi bạn sẽ có một lỗi như này. Error Drawable is abstract cannot be instantiazed.
  • 1:01 - 1:06
    Drawable interface chỉ có tên của các methods,
  • 1:06 - 1:12
    nó không có đủ thông tin để Java có thể tạo một object Drawable cho bạn.
Title:
21-08 House Equals New Dog
Description:

more » « less
Video Language:
English
Team:
Udacity
Project:
cs046: Intro to Programming
Duration:
01:13

Vietnamese subtitles

Revisions