見出し画像

【AndroidStudio】overrideって?

上書きするよって意味

overrideって
既にできているメソッドを持ってきて、そこに新たなコードを上書きする
ってことができます。
またの名を「継承」と言います。

初級者のうちは、Android Studioに備わっているライフサイクルと絡めて使うケースがほとんどです。

※ライフサイクルに関しては以下の記事を参考にしてください。

例えば、以下のコードで言うと
onCreateメソッドをオーバーライドして
そこにhighBtn.setOnclickListener以下のコードを追加しています。

   override fun onCreate(savedInstanceState: Bundle?) {
       super.onCreate(savedInstanceState)
       highBtn.setOnClickListener{
           if ((gameStart && !answered)){
               highAndLow ('h')
           }
       }
   }

オーバーライドの構文は
override fun メソッド名 と
super.メソッド名 です。


もう一つ例をあげます。
onResumeメソッドのオーバーライド

    override fun onResume() {
       super.onResume()
       hitCount = 0
       loseCount = 0
       hitText.text = getString(R.string.hit_text)
       loseText.text = getString(R.string.lose_text)
       gameStart = true
       drawCard()
   }


自分で作成したメソッドはオーバーライドする必要はありません。
(以下はランダムで1〜13の数字を発生させて、その時の数字のトランプの画像をセットするメソッド)

private fun drawCard(){
       yourCardImage.setImageResource(R.drawable.z02)
       droidCardImage.setImageResource(R.drawable.z01)
       //IntRange.random()で乱数を発生
       yourCard = (1..13).random()
       Log.d(tag,"You:"+yourCard)
       when (yourCard){
           1 -> yourCardImage.setImageResource(R.drawable.d01)
・・・以下省略


参考

上のコードでHigh&Lowゲームを作成しました。


この記事が気に入ったらサポートをしてみませんか?