Tham chiếu giữa các class - Reference Between Classes trong Java

Sau đây JackV sẽ hướng dẫn các bạn mới lập trình 2 cách sử dụng tham chiếu giữa các class

  1. Truyền tham chiếu qua constructor

  2. Biến static trỏ đến đối tượng


JackV sẽ demo bằng ứng dụng đơn giản đó là từ MainFrame mở InputDialog để nhập dữ liệu rồi set cho dữ liệu hiện thị ở MainFrame
demo.png

===
1. Truyền tham chiếu qua constructor
Đây là cách truyền tham chiếu của đối tượng cha vào dialog thông qua tham biến khi khởi tạo dialog khi gọi construtor
Constructor mặc định khi tạo dialog ta khong sử dụng, ta tạo một constructor cho phép nhận vào một đối tượng MainFrame, một biến toàn cục MainFrame trong class InputDialog để giữ tham chiếu đến đối tượng được truyền vào thông qua constructor

PHP:

    public InputDialog(MainFrame parent, boolean modal) {
super(parent, modal);
initComponents();
parentFrame = parent; //tham chiếu đến đối tượng được truyền vào
}
MainFrame parentFrame;


trong MainFrame ta khai báo phương thức nhận vào một string và set nó cho label

PHP:

    public void showValue(String value){
lbShowValue.setText(value);
}


ở InputDialog khi button set value được nhấn ta gọi

PHP:

        parentFrame.showValue(txtValue.getText());


====
2. Sử dụng đối tượng static trỏ đến đối tượng của MainFrame
Đây là cách làm có tính linh động, nó phù hợp với việc MainFrame chỉ được tạo ra một đối tượng duy nhất.
Trong MainFrame khai báo

PHP:

public static MainFrame it;


trong constructor của MainFrame khai báo thêm dòng

PHP:

it = this; // trỏ đến đối tượng của lớp này


trong MainFrame ta khai báo phương thức nhận vào một string và set nó cho label

PHP:

    public void showValue(String value){
lbShowValue.setText(value);
}


ở InputDialog khi button set value được nhấn ta gọi

PHP:

        MainFrame.it.showValue(txtValue.getText());

Post a Comment

أحدث أقدم