私はOOPプログラミングを始めているので、この問題があります。閉じたいこのクラスによって呼び出された他のクラスから1つのクラスを閉じたいです。
元:
クラスプリンシパルはクラスメニューを呼び出し、メニュー内でプリンシパルを閉じます
//Im inside of Principal
Menu mnu = new Menu();
//Now im inside of Menu
public void closePrincipal(){
principal.close();
}
プリンシパルクラスへの参照をメニューに渡すことができます。
//プリンシパルで
Menu mnu = new Menu(this);
Menuクラスでそのコンストラクターを定義する必要があります。
class Menu{
private Principal principal;
public Menu(Principal principal){
this.principal = principal;
}
...
}
したがって、メニューで使用する場合は、それを実行するだけです。
principal.close();
「クラスプリンシパルのコード内にいる」と言うときは、「クラスプリンシパルに基づいて変数を作成し、その変数に対していくつかのコードを実行している」と考えることができます。
定義(「クラス」)を特定のオブジェクトに変換しました。
メニューを作成し、プリンシパルを渡します
Menu mnu = new Menu(this);
メニュー内:
private Principal principal;
public Menu(Principal principal) {
this.principal = principal;
}
//You can close the menu's principal any time by calling this...
public void closePrincipal() {
principal.close();
}
この方法でプリンシパルを閉じることができます
mnu.closePrincipal()
または、メニューのコンストラクタで閉じます。