![見出し画像](https://assets.st-note.com/production/uploads/images/43505179/rectangle_large_type_2_79d9eb6740d5897020a17bf180265246.jpeg?width=1200)
Photo by
ibaraki_nakai
【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ゲームを作成しました。