Hi all. Mình vừa học java đến phần quan hệ HAS-A trong java hay còn gọi là Java Composition. Mình có đọc nhưng không hiểu về quan hệ HAS-A trong java này lắm. Theo mình được biết thì quan hệ này có nghĩa là nếu có 2 lớp A và B và lớp B chỉ sử dụng một phần code của lớp A(phương thức, thuộc tính) mà không sửa đổi gì về nội dung của lớp A thì gọi là Composition. Dùng tính năng này để tăng tính tái sử dụng lại code. Mình có thể hiểu tới đây nhưng không hiểu nó sử dụng lại như thế nào.Mình có tham khảo 3 bài tập nhưng khi code lại ko chạy. Các bạn giúp mình nhé.
//Khai báo class job
package com.techmaster.composition;
public class Job {
private String role;
private long salary;
private int id;
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
public long getSalary() {
return salary;
}
public void setSalary(long salary) {
this.salary = salary;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
//Khai báo class person
package com.techmaster.composition;
public class Person {
//COMPOSITION cho mối quan hệ người có-một việc ( has - a)
private Job job;
public Person(){
this.job=new Job();
job.setSalary(1000L);
}
public long getSalary() {
return job.getSalary();
}
}
//Khai báo hàm main
package com.techmaster.composition;
public class TestPerson {
public static void main(String[] args) {
Person person = new Person();
long salary = person.getSalary();//Khi thực thi dòng này bị lỗi không chạy được.
}
}
Vậy trong 3 bài tập trên tính năng Compostion được sử dụng như thế nào vậy. Mong các bạn chỉ giúp