作者:
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(){ <
為什麼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的,物件導向還在努力惡補中
隨便找一本物件導向的書,翻開繼承的章節,通常會有很多例子,告訴你應該怎麼依據目的決定成員/函式存取範圍
作者:
y3k (激流を制するは静水)
2018-03-05 22:06:00上網去找JAVA教學也行 你目前連跨class都不太清楚 就先別跨模組 先把class弄清楚吧?
感覺你的music class不用public出來,內部使用就可以了,外部public api就好
MUSIC CLASS用隱式 然後給外面一個公開的function去控制就可以了吧 如果是自己用那沒差給別人用那可能會有問題