見出し画像

オブジェクトの使い方をまとめる

今回もセカちゃんさんの動画で勉強したものをアップします。

オブジェクトの2ステップ

オブジェクトを作って、利用するためには
2つのステップを踏む必要があります。

1:生成

オブジェクトを生成するステップになります。
例えば、生徒1というオブジェクトを生成します。
書き方:【クラス名】【オブジェクト名】=【new】【クラス名】【();】
例えば:  Student stu1 = new Student ( ) ;

みたいなイメージです。
これをすることで、まだ情報はカラですが
stu1という生徒1のオブジェクトができあがります。

2:変数・メソッドを利用

書き方:オブジェクト.変数名 = 【X】 ;
例えば: stu1 . name = "菅原" ;
要は、nameは菅原になりますね

書き方:オブジェクト.メソッド名(引数);
例えば: stu1 .  setScore ( 80 , 90 ) ;
80と90は今回テストのスコアを意味していますが、これをメインメソッドで設定しておくと、設計図を書くときにsetScoreで80.90という数値が使えるようになるイメージです。ぶっちゃけ最初は意味不明でしたが、ソースコードで確認していくと分かってくるので平気です。

ソースコードで確認していく

今回のプログラムは、生徒の名前と、英語と数学の点数と、平均点を表示させるものになります。要は、こんな感じ表示されます。
菅原さん
英語90点・数学80点
平均85.0点
ということで、ソースコードで確認していきます。

ソースコード全容

打つのが面倒なので、今回から画像を貼ります

StuSample.javaというメインメソッドのデータ(左)
Studentという設計図のデータ(右)の2つになります。

メインメソッドと設計図

メインメソッド
設計図

では、メインメソッドから説明していきます。

メインメソッド4行目:ここでオブジェクト生成です。stu1の生徒像を生成しました。

メインメソッド6行目:オブジェクトstu1の変数nameは”菅原”になりました。

メインメソッド8行目:オブジェクトstu1のsetScoreで、引数を90.80と設定しました。設計図の16行目に連動していきます。eng,mathと出ていますが、これは補助機能で表示されています。

メインメソッド10行目:displayという変数を設計図から呼び出して実行しています。設計図の11行目~が連動します。System.out.printlnが実行されていきます。( )はカラでも必須です。引数なしです。

メインメソッド12行目:これは普通に記載通りのSystem.out.printlnが実行されていきます。stu1.getAvg( )の部分は、設計図の21行目~と連動しています。ここも( )はカラでも必須です。引数なしです。

ということで次は、設計図を説明していきます。
まず復習ですが、設計図ではまず【属性】設定して、その次に【操作】を設定していきます。なので、この順番通りに書いていきます。

設計図1行目:生徒の設計図を作っていきます。なのでclass Studentです。Studentはメインメソッドの4行目と連動していきます。適当につけるものではありません。

設計図5行目~:属性の設定ですね。 nameはString型で、engScoreはint型です。mathScoreも同じくint型ですね。それらをここで定めています。

設計図11行目~:displayという変数の操作が書かれています。今回はメインメソッド10行目で呼び出されることになるもので、System.out.printlnが実行される、という内容になっています。最初のvoidは、戻り値がない事を意味しています。

設計図16行目~:setScore(int eng, int math)とあります。メインメソッド8行目で記載した通りですが、これは引数があり、engは90、mathは80が入ります。でもvoidなので戻り値はありません。engScore = eng;とmathScore = math;については、設計図の13行目の為、設定しているコードになります。

設計図21行目~:まず、最初がvoidではありません。doubleです。これは戻り値があることを意味しています。尚、引数はありません。そして22行目では、double型のavgの値を、英語と数学のスコアを足して2.0で割っています。平均を求めているということですね。で、23行目ですがこのreturnは戻り値があるときには必要な記載になるそうです。ここで出した平均の数値、85.0がメインメソッドの12行目に戻っています。


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