Beispiele für hohe Kohäsion und geringe Kopplung von Java-Rückrufen

1. Die allgemeinen Aktualisierungsinformationen und die Übertragung auf verschiedene Teile, hier ist eine hohe Kohäsion

Student student_xuxiaodong = new Student_xuxiaodong ();
Lehrer LehrerA = neuer Lehrer (student_xuxiaodong);
Log.i ("CallBack", "AA starten ...");
TeacherA.askQuestion ();

Student mStudent_XuChi = new Student_XuChi ();
Lehrer LehrerB = neuer Lehrer (mStudent_XuChi);
Log.i ("CallBack", "BB starten ...");
TeacherB.askQuestion ();

Student mStudent_XuRong = new Student_XuRong ();
Lehrer LehrerC = neuer Lehrer (mStudent_XuRong);
Log.i ("CallBack", "CC starten ....");
TeacherC.askQuestion ();

2. Entlasten Sie die Lotuswurzel

   

// Schüler teilt der Lehrerinformationsklasse mit
Paket com.example.myapplication;

öffentliche Schnittstelle Student {
    public void studentTellTeacherInfo (Rückruf-Rückruf);
}}
// Der Lehrer erhält Schülerinformationen
Paket com.example.myapplication;
import android.util.Log;
public class Lehrer implementiert Callback {
    privater Student Student;
    öffentlicher Lehrer (Schüler Schüler) {
        this.student = student;
    }}
        @Override
    public void answerTeacherTime (String name, String work_time) {// Wie lange muss der Lehrer nur antworten?
        Log.i ("CallBack", "姓名 :" + Name);
        Log.i ("CallBack", "Verstanden, die Zeit, die Sie mit Hausaufgaben verbracht haben" + work_time);
    }}

    public void askQuestion () {
        student.studentTellTeacherInfo (this);
    }}

}}

// Student Student_XuChi

Paket com.example.myapplication;

import android.util.Log;

öffentliche Klasse Student_XuChi implementiert Student {
    @Override
    public void studentTellTeacherInfo (Rückruf Rückruf) {
        Versuchen {
            Thread.sleep (5000);
        } catch (InterruptedException e) {
            e.printStackTrace ();
        }}
        callback.answerTeacherTime ("Xu_Chi", "5000 秒");
        Log.i ("CallBack", "Student_XuChi starten" + callback.hashCode ());
    }}
}}

// Student Student_XuRong

Paket com.example.myapplication;

import android.util.Log;

öffentliche Klasse Student_XuChi implementiert Student {
    @Override
    public void studentTellTeacherInfo (Rückruf Rückruf) {
        Versuchen {
            Thread.sleep (5000);
        } catch (InterruptedException e) {
            e.printStackTrace ();
        }}
        callback.answerTeacherTime ("Xu_Chi", "5000 秒");
        Log.i ("CallBack", "Student_XuChi starten" + callback.hashCode ());
    }}
}}

// Student Student_xuxiaodong

Paket com.example.myapplication;

import android.util.Log;

öffentliche Klasse Student_xuxiaodong implementiert Student {
    @Override
    public void studentTellTeacherInfo (Rückruf Rückruf) {
        Versuchen {
            Thread.sleep (3000);
        } catch (InterruptedException e) {
            e.printStackTrace ();
        }}
        callback.answerTeacherTime ("xuxiaodong", "3000 秒");
        Log.i ("CallBack", "Student_xuxiaodong starten" + callback.hashCode ());
    }}

// @Override
// public void answerTeacherTime (String name, String work_time) {
// Versuchen {
// Thread.sleep (3000);
//} catch (InterruptedException e) {
// e.printStackTrace ();
//}
// Rückrufen.
//}
}}

 

//Implementierung

C: \ Users \ admin> adb logcat -s CallBack
--------- Beginn des Systems
--------- Beginn des Hauptvorgangs
01-30 10: 20: 37.768 4494 4494 I CallBack: Start AA ....
01-30 10: 20: 40.770 4494 4494 I CallBack: Name: xuxiaodong
01-30 10: 20: 40.770 4494 4494 I CallBack: Ich verstehe, es dauert 3000 Sekunden, um Ihre Hausaufgaben zu machen
01-30 10: 20: 40.771 4494 4494 I CallBack: Start Student_xuxiaodong 15652383
01-30 10: 20: 40.771 4494 4494 I CallBack: Start BB ....
01-30 10: 20: 45.772 4494 4494 I CallBack: Name: Xu_Chi
01-30 10 : 20: 45.772 4494 4494 I CallBack: Ich sehe, es dauert 5000 Sekunden, um Ihre Hausaufgaben zu machen.
01-30 10: 20: 45.772 4494 4494 I CallBack: Start Student_XuChi 99143020
01-30 10: 20: 45.772 4494 4494 I CallBack: Start CC ....
01-30 10: 20: 53.773 4494 4494 I CallBack: Name: Xu_Chi
01-30 10: 20: 53.773 4494 4494 I CallBack: Ich verstehe, es dauert 8000 Sekunden, um Ihre Hausaufgaben zu machen
01-30 10: 20: 53.773 4494 4494 Ich rufe zurück: starte Student_XuRong 4099893

Ich denke du magst

Origin blog.csdn.net/u010689853/article/details/113416113
Empfohlen
Rangfolge