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

初心者から始めるJava、クラスのフィールド・メソッド

Posted at

#はじめに
この記事は備忘録である。
参考書レベルの内容だが、本記事に掲載するコードについては、
間違えたものが中心となる。これは実際にコーディング中に間違えた部分を掲載し、自分で反省するために投稿するという目的によるもの。
また、後日にJavaSilver試験問題の勉強を兼ねて復習するため、深い部分の話はここでは触れない。

今回は基礎を理解するために、間違えを記述しない。
##環境
言語:Java11、JDK13.0.2
動作環境:Windows10

#クラスの宣言
クラスを宣言(declaration)するところから見てみる。これはやさしいJava 第7版からの引用となる。

declaration.txt
class クラス名 
{
  型名 フィールド名;
  ...
  戻り値の型 メソッド名(引数リスト)
  {
    ;
    ...
    return ;
  }
  ...
}

この宣言に基づいて実際のクラスと比較してみる。

Cat.java
class Cat
{
  double weight;
  String color;
  //ここまでが型名とフィールドの宣言。
  //weightとcolorのフィールドが出来た。

  void setWeightColor(double w,String c)
  {
    weight = w;
    color = c;
    
    System.out.println("この猫の体重を" + weight + "にしました。");
    System.out.println("この猫の色を" + color + "にしました。");
  }

  double getWeight()
  {
    System.out.println("猫の体重を更新します。");
    return weight;
  }

  void introduce()
  {
    System.out.println("この猫の体重は" + weight + "kgです。");
    System.out.println("この猫の色は" + color + "色です。");
  }
  //ここまでがメソッドの記述。戻り値の型に注意。
  //CatクラスはsetWeightColor(double w,String c),getWeight()
  //それにintroduce()のメソッドを持つ。
}

フィールドとメソッドがどれか、というのはこれでわかると思う。これらフィールドとメソッドのことを、クラスの**メンバ(member)**と呼ぶ。

余談だが、クラス名・フィールド名・メソッド名はいずれも**識別子(identifier)**である。よって、以前扱った識別子のルール(変数のルールと思えばいい)に従っていれば、どんな名前でも好きなように付けることが出来る。識別子的に意味が通っていなくてもプログラム上は問題ないが、可読性を考慮して書くと後から読み返す・誰かに読んでもらうときに分かりやすくて良い。

以下は(一応)OKな例。可読性は皆無。こんな状態でも、IDE(統合開発環境)やテキストエディタの仕様次第では、(比較的)障害もなくソースを書くことが出来るので、本当に文明の利器といったところだ。

longLongSoLongNames.java
class UnitedKingdomOfGreatBritainAndNorthernIreland
{
  int pneumonoultramicroscopicsilicovolcanoconiosis;
  String Tetaumatawhakatangihangakoauaotamateaurehaeaturipukapihimaungahoronukupokaiwhenuaakitanarahu;
  
  void Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch()
 {
   System.out.println("世界一長い英単語は、
  病名では" + pneumonoultramicroscopicsilicovolcanoconiosis
    + "世界一長い地名は、"
    + Tetaumatawhakatangihangakoauaotamateaurehaeaturipukapihimaungahoronukupokaiwhenuaakitanarahu 
    + "です。")
 }
}

##フィールド
Catクラスで宣言されたweightcolorは、Catを使ってオブジェクトやインスタンスを新たに作ってから、そのオブジェクトに値を格納することが出来る。
例:

mainCatCreate.java
Cat firstCat = new Cat();
firstCat.weight = 2.3;
firstCat.color = "茶トラ";

これはnewできちんとオブジェクトを作ってさえ置けば、いくつでも用意することが出来る。
##メソッド
上記の例に倣って、すべてのオブジェクトにいちいち値を用意していては時間がかかりすぎるので、Catクラスに書いたメソッドを使う。

methodTry.java
Cat firstcat =new Cat();

firstCat.setWeightColor(2.3,"茶トラ")

double myCatWeight = firstCat.getWeight();

System.out.println("我が家初めての猫の体重は" + myCatWeight + "でした。");

#終わりに
簡単なクラスだったが、書くにあたり調べるのを含めて20分程度かかってしまった。沢山書かなければやはり身に付かないし、こういったクラスをバンバン量産するのが醍醐味だと感じているので、クラスを作るだけの回を設けて挑戦してみるのもありかもしれない。

#参考
出来るだけ自分で変数や式を書いてコンパイルしているので、完全に引用する場合はその旨記述する。

やさしいJava 第7版
Java SE11 Silver 問題集(通称黒本)

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