Eventbus: МоТСм Π»ΠΈ ΠΌΡ‹ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° абстрактный ΠΌΠ΅Ρ‚ΠΎΠ΄

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 21 Π°Π²Π³. 2016  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: greenrobot/EventBus

МоТСм Π»ΠΈ ΠΌΡ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΡŽ @Subscribe ΠΊ абстрактному ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ классС ΠΈ Π½Π΅ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π΅Π΅ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… классах?

НапримСр:

abstract class Parent {  
        <strong i="8">@Subscribe</strong> 
        public abstract void sayHi(EventMessage em); 
}
class ChildA{
        public void sayHi(EventMessage em){
                 System.out.println("Hi I am ChildA");
       }
}

Π‘ΡƒΠ΄Π΅Ρ‚ Π»ΠΈ EventBus ΠΊΠ»Π°ΡΡΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ сообщСниС?

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Java Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ наслСдованиС Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ

Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ абстрактный ΠΌΠ΅Ρ‚ΠΎΠ΄
Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΡ‚ΡŒΡΡ это:

abstract  class Parent{

<strong i="8">@Subscribe</strong> 
public void onEvent(Event event){
   doEvent(event);
}

protected abstract void doEvent(Event event);
}
class Child{
     <strong i="11">@Override</strong>
     protected void doEvent(Event event){
   // do something
 }
}

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Насколько ΠΌΠ½Π΅ извСстно, Java Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ наслСдованиС Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ . Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ это Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π― полагаю, Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² своСм абстрактном классС, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… классах. Если Π²Ρ‹ рСгистрируСтС EventBus Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ классС, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄.

ΠΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ

abstract class Parent {  
        <strong i="9">@Subscribe</strong> 
        public void sayHi(EventMessage em) {
        }
}
class ChildA{
        <strong i="12">@Override</strong>
        public void sayHi(EventMessage em){
                 System.out.println("Hi I am ChildA");
       }
}

-ΡƒΡ‚

Java Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ наслСдованиС Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΉ

Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ абстрактный ΠΌΠ΅Ρ‚ΠΎΠ΄
Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΡ‚ΡŒΡΡ это:

abstract  class Parent{

<strong i="8">@Subscribe</strong> 
public void onEvent(Event event){
   doEvent(event);
}

protected abstract void doEvent(Event event);
}
class Child{
     <strong i="11">@Override</strong>
     protected void doEvent(Event event){
   // do something
 }
}

Π‘ΠΌ. Π”Π²Π° ΠΎΠ±Ρ…ΠΎΠ΄Π½Ρ‹Ρ… ΠΏΡƒΡ‚ΠΈ Π²Ρ‹ΡˆΠ΅. ΠžΡΡ‚Π°Π²ΠΈΠΌ это ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ для использования Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ, Ссли ΠΌΡ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π·Π°Ρ…ΠΎΡ‚ΠΈΠΌ это ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ. -ΡƒΡ‚

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ