01/10/2018, 17:40

Quan hệ has-a, is-a

các bác giúp em với ạ em làm mãi không ra

class B extends A {
  int getID() {
    return id;
  }
}

class C {
  public int name;
}

class A {
  C c = new C();
  public int id;
}
  • A is-a B
  • C is-a A
  • A has-a C
  • B has-a A
  • B has-a C

0 voters

Nguyễn Đình Anh viết 19:41 ngày 01/10/2018

AC là chắc chắn nhé
B kế thừa A thì B cũng có C


Còn câu B has A thì mình nghĩ là không phải. Vì B là A chứ nó không chứa A

vuanh0105 viết 19:51 ngày 01/10/2018

A has-a C
 B has-a C
Nãy em cũng ra vậy mà click bấm nhầm hay sao nên sai

Trần Hoàn viết 19:54 ngày 01/10/2018

Mức độ truy cập của C trong A là default => B kế thừa A thì B cũng có C

Tâm Ninja viết 19:47 ngày 01/10/2018

A has-a C cụ thể là composition vì trong A có khai báo C và C được khởi tạo instance trong A.
B has-a C vì để B kế thừa được A buộc B phải chung package với A. Vậy B chung package với A thì nghiễm nhiên B cũng kế thừa được C trong A.
B is-a A vì B kế thừa A.

Bài liên quan
0