1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

java オブジェクト指向型プログラミング

Last updated at Posted at 2016-07-06

##オブジェクトとは、(めちゃめちゃ簡単に)
####この世に存在する物、物の集まり全般
例: 人、犬、ボール、家族、サッカーチーム、etc

##早速サンプルコード
サッカーチームクラス(チーム名.コーチ名)

SoccerTeam.java
Public class SoccerTeam{
  final public String teamName;
  final public String coachName;

  public SoccerTeam(String teamName , String coachName){
    this.teamName = teamName;
    this.coachName = coachName;
  }
}

サッカー選手クラス(名前,性別,所属チーム)

SoccerPlayer.java
public class SoccerPlayer{
  final public String name;
  final public String sex;
  final public SoccerTeam soccerTeam;

  public SoccerPlayer(String name , String sex , SoccerTeam soccerTeam){
    this.name = name;
    this.sex = sex;
    this.soccerTeam = soccerTeam;
  }
}

サンプルコード(山田二郎の所属チームのコーチの名前を取得する処理)

CreateSampleDate.java
//サンプルデータ
SoccerTeam team = new SoccerTeam("FC東京","山田太郎");

//1人の「人」としてのオブジェクト作成
SoccerPlayer yamadaJirou = new SoccerPlayer("山田二郎","男",team);
//さらにもう1人の「人」としてのオブジェクト作成
SoccerPlayer yamadaSaburou = new SoccerPlayer("山田三郎","男",team);

//山田二郎の所属チームのコーチの名前を取得する処理
String coachName = yamadaJirou.soccerTeam.coachName;

System.out.println(coachName); // 出力 : 山田太郎

オブジェクト指向プログラミングとは、「サッカーチームのコーチ名」、「サッカー選手の所属チーム」など
「~の~」といった感じでメソッドチェーン(メソッドを連結させる)を行うことがメインになってきます。
例えば、

//山田二郎のチーム
yamadaJirou.soccerTeam;

//山田二郎のチームのチーム名
yamadaJirou.soccerTeam.teamName;

「〜〜の〜〜」形式で書くことができます。
いわゆる「の」の部分に当たるのが「~.(ドット)~」です。
ドットを用いることで対象のオブジェクトにアクセスし、アクセスした
オブジェクト内に持つフィールドやメソッドを呼び出すことができます。

オブジェクト指向型プログラミングを意識することで非常に可読性が良くなります。
常に意識して実装しましょう

一応メモ用ですが、要望あれば情報追加します。

少しでもお役に立てたらストック等お願いいたします。

1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?