面向对象编程(Java)
环境建立
-
- VScode
- JDK
安装JDK
如果是Mac系统,请选择Mac OS X x64。
然后,请创建一个Oracle账号。
安装完成后,请在终端中进行版本确认。
$ java -version
当有新版本发布时,安装完成。
面向对象
面向对象是一种定义物体并为该物体定义行为的方法,以避免不必要地重复定义相同的事物。
面向对象并不仅限于此,由于解释较长,如果有兴趣请自行查阅维基百科参考文章。
class クラス名01 {
クラスのxxを定義する
メソッド(処理させたいこと) //例えば(1+1)を計算
}
class クラス名02 {
クラス名01 インスタンス名 = new クラス名01();
インスタンス名.xx //xxが使えるようになります。
インスタンス名.メソッド //メソッドが使えるようになります。
System.out.println(インスタンス名.xx); //出力できます
}
//Foodクラスを元にインスタンスを作成します。
class Food {
String name;
// calculateAvgメソッド
public double calculateAvg(double[] data) {
double sum = 0;
for( int i = 0; i < data.length; i++) {
sum += data[i];
}
double avg = sum/data.length;
return avg;
}
//judgeメソッド
public String judge (double avg) {
String result;
if(avg >= 60) {
result = "美味しい";
} else {
result = "んー";
}
return result;
}
}
public class Eater {
public static void main(String[] args) {
Food sushi = new Food(); // ここでFoodを参照し、sushiのインスタンス作成しています
sushi.name = "tuna"; // sushiインスタンスnameにtunaを代入しています。
double[] data = { 70, 65, 90, 90, 90}; // dataの配列を定義してます
double avg = sushi.calculateAvg(data);
//sushiインスタンスの中のcalculateAvgメソッドを呼び出す。引数はdataを使ってavgに代入する
String result = sushi.judge(avg);
// sushiインスタンスの中のjudgeメソッドを呼び出す。引数はavgを使う
System.out.println(avg);
System.out.println(sushi.name + " " + result);
}
}
$ javac Eater.java
$ java Eater
编译后将生成Eater.class文件。
将编译好的代码输出。
81.0
tuna 美味しい
我认为这段代码会产生以下这样的结果。这是一个显示数据平均值以及实例的名称和结果的程序。