【15章】Javaを学ぼう
前章ではオブジェクト指向を中心に説明をさせていただきました。
今回は前章の勉強した内容を活用し、自己紹介プログラムを作ってみたいと思います。
私自身のアウトプットの場となりますので、よろしくお願いいたします!
自己紹介プログラム
自己紹介プログラムを、オブジェクト指向を使って実装していきたいと思います。
インスタンスフィールドを定義
まずはインスタンスフィールドを定義しましょう。
インスタンスにどんな情報を持たせるかを考えていきます。
Person オブジェクト
インスタンスフィールド
・firstName
・lastName
・age
・height
・weight
インスタンスメソッド
・fullName
・bmi
・printData
上記の情報を持たせていきます。
//インスタンスフィールドを定義
class Person {
public String firstName;
public String lastName;
public int age;
public double height;
public double weight;
//コンストラクタを定義し、インスタンスフィールドに値をセット
Person(String firstName, String lastName, int age, double height, double weight) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.height = height;
this.weight = weight;
}
}
インスタンスの生成と、各フィールドの値の出力を用意
class Main {
public static void main(String[] args) {
Person person1 = new Person("John", "Connor", 28, 1.7, 65.0);
System.out.println(person1.firstName);
System.out.println(person1.lastName);
System.out.println(person1.age);
System.out.println(person1.height);
System.out.println(person1.weight);
}
}
インスタンスメソッドを定義
インスタンスメソッドを定義します。まずはfullNameメソッドとbmiメソッドをインスタンスメソッドにします。
printDataメソッドは後ほど作ります。
//インスタンスフィールドを定義
class Person {
public String firstName;
public String lastName;
public int age;
public double height;
public double weight;
//コンストラクタを定義し、インスタンスフィールドに値をセット
Person(String firstName, String lastName, int age, double height, double weight) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.height = height;
this.weight = weight;
}
//fullNameメソッドを定義
public String fullName() {
return this.firstName + " " + lastName;
}
//bmiメソッドを定義
public double bmi() {
return this.weight / height / height;
}
}
class Main {
public static void main(String[] args) {
Person person1 = new Person("John", "Connor", 28, 1.7, 65.0);
System.out.println(person1.fullName());
System.out.println(person1.age);
System.out.println(person1.bmi());
}
}
次はインスタンスが自分の情報をコンソールに出力するprintDataメソッドを定義します。
printDataメソッドは、fullNameメソッドやbmiメソッドといった他のメソッドを呼び出します。
//インスタンスフィールドを定義
class Person {
public String firstName;
public String lastName;
public int age;
public double height;
public double weight;
//コンストラクタを定義し、インスタンスフィールドに値をセット
Person(String firstName, String lastName, int age, double height, double weight) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.height = height;
this.weight = weight;
}
//fullNameメソッドを定義
public String fullName() {
return this.firstName + " " + lastName;
}
//bmiメソッドを定義
public double bmi() {
return this.weight / height / height;
}
// printDataメソッドを定義
public void printData() {
System.out.println("私の名前は" + this.fullName() + "です");
System.out.println("年齢は" + this.age + "歳です");
System.out.println("BMIは" + Math.round(this.bmi()) + "です");
}
}
class Main {
public static void main(String[] args) {
Person person1 = new Person("John", "Connor", 28, 1.7, 65.0);
person1.printData();
//printDataメソッドを定義したため不要
//System.out.println(person1.fullName());
//System.out.println(person1.age);
//System.out.println(person1.bmi());
}
}
出力結果↓
私の名前はJohn Connorです
年齢は28歳です
BMIは23です
今回はここまでにしたいと思います。次章では今回作成した自己紹介プログラムをさらに改善していきたいと思います。
よろしくお願いいたします!
最後までご覧いただきまして、ありがとうございました!
Author And Source
この問題について(【15章】Javaを学ぼう), 我々は、より多くの情報をここで見つけました https://qiita.com/haruki25596/items/18fbc8b5e47e4f3c4189著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .