0
0

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 3 years have passed since last update.

【Javaについてまとめてみたオブジェクト編】クラスについて

Posted at

#はじめに
今回はJavaのクラスについて書いていきたいと思います。
オブジェクト指向の始まりみたいなとこなのでぜひ理解していきたいです。

##クラスとは
例えば、下記のようなまとまったデータがあるとします。

商品ID 商品名 値段 在庫
チョコ 10 true
このデータをまとめてプログラミングで扱いたい。
でも配列だと、数値や文字列が混ざってて一括で扱うのは無理や。。
こんな時に使うのがオブジェクトです。
そしてそのオブジェクトの設計図となるのがクラスなんです!!

##クラスの定義の仕方

クラスの定義
public Class Item{
    int itemId;
    String itemName;
    int price;
    LocalDate date;
}

こんな感じで設計します。
「int itemId;」とかはメンバ変数といい、何か処理をしたい時はメソッドを作成します。
###コンストラクタ
クラスを作るうえでコンストラクタというのも重要になってきます。
コンストラクタは、インスタンスを作成する際に自動で呼ばれるメソッドで
メンバ変数の初期化などオブジェクトを作成する断崖で実行したい処理を記述します。

コンストラクタの作成
public Class Item{
    int itemId;
    String itemName;
    int price;
    boolean stock;
  //ここからがコンストラクタ
  public Item(String itemId ,String itemName,int price,boolean stock){
	 this.itemId = itemId;
	 this.itemName = itemName;
	 this.price = price;
	 this.stock = stock;
 }
}

コンストラクタはクラス名と同じ名前にする必要があります。
###デフォルトコンストラクタ
ちなみにコンストラクタを定義しなかった場合はデフォルトコンストラクタと呼ばれるものが呼び出されます。

デフォルトコンストラクタ
public Item(){
 super();
}

(アクセス修飾子) クラス名(){
  super();
}

引数なしのコンストラクタになっております。
一つでもコンストラクタを定義したらデフォルトコンストラクタは作成されない為、引数なしのコンストラクタも別で欲しい場合は自分で定義する必要があります!
##インスタンス化
それでは作成したクラスをオブジェクトにしてみましょう。
クラスからオブジェクトを作成することをインスタンス化といいます。

インスタンス化
//引数あり
Item item1 = new Item(1,"チョコ",10,true);
//引数なし(デフォルトコンストラクタ)
Item item1 = new Item();
//メンバ変数の呼び出し
item1.itemId;
item1.itemName;

これでオブジェクトが作成されまとまったデータを扱えるようになりました!

##さいごに
クラスどうだったでしょうか
今回は簡単な設計でかつメソッドとかもない状態でしたが、もっと細かくみればいろんな機能があります。
軽くイメージが掴めたら幸いです。
他にもこんな機能があるとか、間違ってたらコメントください。

ご覧いただきありがとうございました。

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?