[问题] AAR 存取 class 问题

楼主: kuangs (kuangs)   2018-03-05 18:51:36
目前碰到一个问题,我想包一个AAR档让其他APP使用,
希望APP使用的方法类似这样:AARClass.music.turnOff
但是我希望music这个class或是turnOff,不要被外部直接使用,
一定要透过AARClass才能存取,我试了几个方法都无法做到,
程式码类似如下:
public class MainActivity extends AppCompatActivity {
public onCreate (){
AARClass class = new AARClass();
class.music.turnOf;
}
}
==========AAR==================
public AARClass(){
public Music music = new Music();
public Music(){ <
作者: aids61517 (奇欧巴肯)   2018-03-05 19:28:00
为什么Music物件要设定成public?不透过个function去控制它吗?像是在AARClass新增一个function turnOff()实作内容是music.turnOff(),这样子做会违背你原本的目的吗@@?
作者: ssccg (23)   2018-03-05 20:19:00
这是很单纯的物件导向程式设计问题...
楼主: kuangs (kuangs)   2018-03-05 20:21:00
不会,但是如果功能变多,每个都要用function去控,程式码感觉会变的很乱还有AARClass 跟 music 这两个class 是在不同的package@ssccg 大 小弟之前是写c的,物件导向还在努力恶补中
作者: kobe8112 (小B)   2018-03-05 20:25:00
随便找一本物件导向的书,翻开继承的章节,通常会有很多例子,告诉你应该怎么依据目的决定成员/函式存取范围
作者: y3k (激流を制するは静水)   2018-03-05 22:06:00
上网去找JAVA教学也行 你目前连跨class都不太清楚 就先别跨模组 先把class弄清楚吧?
作者: erty0402 (缺副驾驶)   2018-03-06 01:43:00
感觉你的music class不用public出来,内部使用就可以了,外部public api就好
作者: MOONY135 (谈无欲)   2018-03-06 23:17:00
MUSIC CLASS用隐式 然后给外面一个公开的function去控制就可以了吧 如果是自己用那没差给别人用那可能会有问题

Links booklink

Contact Us: admin [ a t ] ucptt.com