关于Java的类的分割

类的需求进行分割

写这样冗长的代码会降低可读性,因为执行部分和逻辑部分被写在同一个文件中。
本文按照以下顺序描述了将执行部分写在Main类中,将逻辑部分写在person类中的步骤。

    1. 将Person类进行定义

 

    1. 将Person类的逻辑部分方法移动

 

    修改为调用Person类的方法
public class Main {
  public static void main(String[] args) {
    printData(fullName("Kate", "Jones"), 27, 1.6, 50.0);
    printData(fullName("John", "Christopher", "Smith"), 65, 1.75, 80.0);
  }

  public static void printData(String name, int age, double height, double weight) {
    System.out.println("私の名前は" + name + "です");
    System.out.println("年齢は" + age + "歳です");
    System.out.println("身長は" + height + "mです");
    System.out.println("体重は" + weight + "kgです");

    double bmi = bmi(height, weight);
    System.out.println("BMIは" + bmi + "です");

    if (isHealthy(bmi)) {
      System.out.println("標準値です");
    } else {
      System.out.println("標準値の範囲外です");
    }
  }

  public static String fullName(String firstName, String lastName) {
    return firstName + " " + lastName;
  }

  public static String fullName(String firstName, String middleName, String lastName) {
    return firstName + " " + middleName + " " + lastName;
  }

  public static double bmi(double height, double weight) {
    return weight / height / height;
  }

  public static boolean isHealthy(double bmi) {
    return bmi >= 18.5 && bmi < 25.0;
  }
}

Person类的定义

上述的Main.java是按以下结构编写的。

    • 実行部分

mainメソッド

ロジック部分

printDataメソッド
fullNameメソッド
bmiメソッド
isHealthyメソッド

首先,创建Person.java文件并定义Person类。

 class Person {
}

将Person类中的逻辑部分方法移动

下一步,将main类的逻辑部分移动到Person类中。

    • ロジック部分

printDataメソッド
fullNameメソッド
bmiメソッド
isHealthyメソッド

 class Person {
   public static void printData(String name, int age, double height, double weight) {
    System.out.println("私の名前は" + name + "です");
    System.out.println("年齢は" + age + "歳です");
    System.out.println("身長は" + height + "mです");
    System.out.println("体重は" + weight + "kgです");

    double bmi = bmi(height, weight);
    System.out.println("BMIは" + bmi + "です");

    if (isHealthy(bmi)) {
      System.out.println("標準値です");
    } else {
      System.out.println("標準値の範囲外です");
    }
  }

  public static String fullName(String firstName, String lastName) {
    return firstName + " " + lastName;
  }

  public static String fullName(String firstName, String middleName, String lastName) {
    return firstName + " " + middleName + " " + lastName;
  }

  public static double bmi(double height, double weight) {
    return weight / height / height;
  }

  public static boolean isHealthy(double bmi) {
    return bmi >= 18.5 && bmi < 25.0;
  }
}
public class Main {
  public static void main(String[] args) {
    printData(fullName("Kate", "Jones"), 27, 1.6, 50.0);
    printData(fullName("John", "Christopher", "Smith"), 65, 1.75, 80.0);
  }
}

修改为调用Person类的方法的方式

分割成功,但是如果直接执行Main类会出现错误。
最后,我们将添加以下语句来调用Person类的方法。

public class Main {
  public static void main(String[] args) {
    Person.printData(Person.fullName("Kate", "Jones"), 27, 1.6, 50.0);
    Person.printData(Person.fullName("John", "Christopher", "Smith"), 65, 1.75, 80.0);
  }
}

这个可以顺利执行。

广告
将在 10 秒后关闭
bannerAds