Quan hệ has-a, is-a

các bác giúp em với ạ :frowning: 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

AC là chắc chắn nhé :wink:
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

1 Like

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

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

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.

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