看板 AndroidDev 關於我們 聯絡資訊
目前碰到一個問題,我想包一個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(){ <----如果不加 public 無法使用turnOff public turnOff(){ ......; } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.248.0.61 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1520247098.A.B9B.html
aids61517: 為什麼Music物件要設定成public?不透過個function去控 03/05 19:28
aids61517: 制它嗎?像是在AARClass新增一個function turnOff() 03/05 19:29
aids61517: 實作內容是music.turnOff(),這樣子做會違背你原本的 03/05 19:29
aids61517: 目的嗎@@? 03/05 19:30
ssccg: 這是很單純的物件導向程式設計問題... 03/05 20:19
kuangs: 不會,但是如果功能變多,每個都要用function去控,程式碼 03/05 20:21
kuangs: 感覺會變的很亂 03/05 20:21
kuangs: 還有AARClass 跟 music 這兩個class 是在不同的package 03/05 20:22
kuangs: @ssccg 大 小弟之前是寫c的,物件導向還在努力惡補中 03/05 20:23
kobe8112: 隨便找一本物件導向的書,翻開繼承的章節,通常會有很多 03/05 20:25
kobe8112: 例子,告訴你應該怎麼依據目的決定成員/函式存取範圍 03/05 20:25
y3k: 上網去找JAVA教學也行 你目前連跨class都不太清楚 就先別跨模 03/05 22:06
y3k: 組 先把class弄清楚吧? 03/05 22:06
erty0402: 感覺你的music class不用public出來,內部使用就可以了 03/06 01:43
erty0402: ,外部public api就好 03/06 01:43
MOONY135: MUSIC CLASS用隱式 然後給外面一個公開的function去控 03/06 23:17
MOONY135: 制就可以了吧 如果是自己用那沒差 03/06 23:18
MOONY135: 給別人用那可能會有問題 03/06 23:18