Як успадкаваць ўласцівасці двух класаў у адным класе?

У мяне ёсць праграма, якая патрабуе, каб успадкаваць ўласцівасці як BroadcastReceiver і MapActivity.Actually Я хачу, каб адправіць бягучае месцазнаходжанне (даўгата і шырата) на атрыманне смс ад friend.I ёсць код са мной, але не ведаю, як у спадчыну ўласцівасці як classes.Here мой код:

http://pastebin.com/53ZJH3iN

Калі ласка, дайце мне некаторы ўяўленне пра тое, каб вырашыць гэтую праблему або любы іншы падыход, калі гэта не ўяўляецца магчымым?

1

2 адказы

Як Java забараняе множны ўспадкоўванне, вы на самой справе не можа. Як вы плануеце заяўку на схаваны srveyliance, вам не патрэбен якая-небудзь дзейнасць - толькі шырокавяшчальны прыёмнік які comunicates з абслугоўваннем месцазнаходжання і пасылае атрыманае месцазнаходжанне недзе.

2
дададзена
Але мой код выкарыстоўвае locationmanager з удзелам getsystemservice (), які паказвае error.Can вы сказаць мне, як змяніць свой код, каб атрымаць даўгату і шырату, ня успадкоўваючы MapActivity?
дададзена аўтар dark_shadow, крыніца
Я усталяваў мой code.Here мой абноўлены код pastebin.com/yKitMftU Але новая праблема comes.Instead адпраўкі свайго месцазнаходжанне (шырыню і даўгату) ён пасылае месцазнаходжанне адпраўніка, які прыходзіць у самым пасля пасланай з sender.I хоча гэта паведамленне код для адпраўкі месцазнаходжанне прымача замест sender.Can вы дапамагчы мне з гэтым?
дададзена аўтар dark_shadow, крыніца
ты смееш, каб паказаць сваю памылку?
дададзена аўтар Konstantin Pribluda, крыніца

Java не падтрымлівае множны ўспадкоўванне, але вы можаце рэалізаваць столькі інтэрфейсаў, як вы хочаце, так што вы можаце зрабіць гэта з дапамогай кампазіцыі. Вось адзін грубы накід, але ёсць шмат спосабаў, вы можаце зрабіць гэта. Асноўная ідэя заключаецца ў тым, што для аднаго ці абодвух класаў, якія вы хочаце, каб атрымаць у спадчыну ад вас ёсць спасылка на нейкі рэалізацыі і вы подвергает такі ж самы інтэрфейс, з дапамогай дэлегавання фактычнай рэалізацыі.

interface MapActivity {
   Coordinates getCoordinates();
...
}

class SomeMapActivityImpl {
...
}

class ReceivelocationActivity extends BroadcastReceiver implements MapActivity {
  private MapActivity mapActivity = new SomeMapActivityImpl();

  public Coordinates getCoordinates() {
    return mapActivity.getCoordinates();
  }

...
}
0
дададзена