私はオブジェクト指向プログラミングの初心者で、何かを解決するためにいくつかの答えが必要です。MainActivity と、さまざまな操作用のいくつかのクラスがあります。たとえば、MainActivity では、BluetoothReceiver クラスから mBluetoothReceiver という名前のオブジェクトを作成します。sendData などの BT 接続を確立および管理するためのメソッドがあります。クラス Nmea では、BluetoothReceiver のメソッドを使用するいくつかのメソッドを取得したため、コンストラクター mBluetoothReceiver を渡します。
MainActivity クラス:
public class MainActivity extends Activity {
BluetoothService mBluetoothService = new BluetoothService(this);
//create new object from Nmea class and pass mBluetoothService to mNmea
Nmea mNmea = new Nmea(mBluetoothService);
}
Nmea クラス:
public class Nmea {
BluetoothService mBluetoothService;
//constructor for Nmea for BluetoothServce object
public Nmea(BluetoothService bluetoothService) {
mBluetoothService = bluetoothService;
}
public Nmea()
{
//empty constructor {
}
//Nmea methods...
}
私の問題は、Nmea クラスのメソッドも使用するクラス GPS も持っていることですが、その方法がわかりません。Nmea クラスに空のコンストラクターを配置し、GPS クラスに Nmea オブジェクトを作成しても問題ありませんか? BluetoothService オブジェクトを渡さないと、おそらく Bluetooth は動作しませんか? クラス GPS では、プロジェクト全体で確立された接続が 1 つしか必要ないため、新しい BluetoothService 接続オブジェクトを作成して Nmea コンストラクターに渡すことはできません。
GPS クラス:
public çlass GPS {
Nmea gpsNmea = new Nmea();
//I need to use Nmea methods here
}
私の質問を理解していただければ幸いです。それを機能させるために、このようなもので良い練習は何ですか? ありがとう!