/**
* ドメイン非依存URL出力フィルタ
* javadrill.tech移行時はwp_options.home/siteurlのみ変更すればよい
*
* データベースには絶対URL(https://minner.asia)を保持し、
* 表示時に現在のドメイン(home_url())に動的変換する
*/
function javadrill_make_urls_dynamic($content) {
if (empty($content)) {
return $content;
}
// データベース内の絶対URLを現在のhome_url()に置換
$old_url = 'https://minner.asia';
$new_url = untrailingslashit(home_url());
// http版も対応(念のため)
$content = str_replace($old_url, $new_url, $content);
$content = str_replace('http://minner.asia', $new_url, $content);
return $content;
}
// 投稿本文、ウィジェット、タームの説明、抜粋に適用
add_filter('the_content', 'javadrill_make_urls_dynamic', 20);
add_filter('widget_text', 'javadrill_make_urls_dynamic', 20);
add_filter('term_description', 'javadrill_make_urls_dynamic', 20);
add_filter('get_the_excerpt', 'javadrill_make_urls_dynamic', 20);
public class Account {
// å£åº§ç•ªå·
private int accountNumber;
// å£åº§å義人
private String accountHolder;
// 残高
private double balance;
// コンストラクタã§å£åº§æƒ…å ±ã‚’åˆæœŸåŒ–
public Account(int accountNumber, String accountHolder, double balance) {
this.accountNumber = accountNumber;
this.accountHolder = accountHolder;
this.balance = balance;
}
// å£åº§ç•ªå·ã‚’å–å¾—
public int getAccountNumber() {
return accountNumber;
}
// å£åº§å義人をå–å¾—
public String getAccountHolder() {
return accountHolder;
}
// 残高をå–å¾—
public double getBalance() {
return balance;
}
// å£åº§æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public void displayAccountInfo() {
System.out.println("Account Number: " + accountNumber);
System.out.println("Account Holder: " + accountHolder);
System.out.println("Balance: $" + balance);
System.out.println("------------");
}
}
import java.util.ArrayList;
import java.util.List;
public class Bank {
// 複数㮠Account オブジェクトを管ç†ã™ã‚‹ãƒªã‚¹ãƒˆ
private List<Account> accounts;
// コンストラクタã§ãƒªã‚¹ãƒˆã‚’åˆæœŸåŒ–
public Bank() {
this.accounts = new ArrayList<>();
}
// æ–°ã—ã„å£åº§ã‚’è¿½åŠ ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public void addAccount(Account account) {
accounts.add(account);
System.out.println("Account added to the bank.");
}
// å…¨å£åº§ã®æ®‹é«˜ç·é¡ã‚’表示ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public void displayTotalBalance() {
double totalBalance = 0;
if (accounts.isEmpty()) {
System.out.println("No accounts in the bank.");
} else {
System.out.println("Total Balance in the Bank:");
for (Account account : accounts) {
totalBalance += account.getBalance();
}
System.out.println("$" + totalBalance);
}
}
}
public class Main {
public static void main(String[] args) {
// Bank クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆ
Bank myBank = new Bank();
// Account クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆ
Account account1 = new Account(12345, "John Doe", 1000.00);
Account account2 = new Account(67890, "Jane Doe", 2500.50);
// å£åº§ã‚’追åŠ
myBank.addAccount(account1);
myBank.addAccount(account2);
// 残高ç·é¡è¡¨ç¤º
myBank.displayTotalBalance();
}
}
ã“ã®ä¾‹ã§ã¯ã€Bank クラス㌠Account クラスã®ã‚ªãƒ–ジェクトをリストã§ç®¡ç†ã—ã€å£åº§ã®è¿½åŠ ã¨æ®‹é«˜ç·é¡ã®è¡¨ç¤ºã‚’行ã£ã¦ã„ã¾ã™ã€‚
「007 クラスã€å•題集リスト
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
Bank クラス㨠Account クラスを作æˆã—ã¦ãã ã•ã„。Account クラスã¯å£åº§ã®æƒ…å ±ã‚’ä¿æŒã—ã€Bank クラスã¯è¤‡æ•°ã® Account ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’ä¿æŒã—ã¾ã™ã€‚Bank クラスã«ã¯å£åº§ã®è¿½åŠ ã€æ®‹é«˜ç·é¡è¡¨ç¤ºã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¦ãã ã•ã„。
ã“れらã®ãƒ’ントを元ã«ã€ã‚¯ãƒ©ã‚¹ã®å®£è¨€ã¨åŸºæœ¬çš„ãªãƒ¡ã‚½ãƒƒãƒ‰ã®å®Ÿè£…を行ã£ã¦ãã ã•ã„。クラスã®å½¹å‰²ã‚„メソッドã®å…·ä½“çš„ãªå®Ÿè£…ã¯ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‚„è¦ä»¶ã«ã‚ˆã£ã¦å¤‰ã‚りã¾ã™ãŒã€ã“れらã®åŸºæœ¬çš„ãªã‚¹ãƒ†ãƒƒãƒ—ã§ Bank クラス㨠Account クラスを構築ã§ãã¾ã™ã€‚
→解ç”例
「007 クラスã€å•題集リスト
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
/**
* Product クラスã¯å•†å“ã®æƒ…å ±ã‚’ä¿æŒã—ã€è¡¨ç¤ºã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¾ã™ã€‚
*/
public class Product {
// 商å“å
private String name;
// 商å“ä¾¡æ ¼
private double price;
/**
* Product クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
*
* @param name 商å“å
* @param price 商å“ä¾¡æ ¼
*/
public Product(String name, double price) {
this.name = name;
this.price = price;
}
/**
* 商å“åã‚’å–å¾—ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
*
* @return 商å“å
*/
public String getName() {
return name;
}
/**
* 商å“ä¾¡æ ¼ã‚’å–å¾—ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
*
* @return 商å“ä¾¡æ ¼
*/
public double getPrice() {
return price;
}
/**
* 商å“ã®æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
*/
public void displayProductInfo() {
System.out.println("Product: " + name);
System.out.println("Price: $" + price);
System.out.println("------------");
}
}
import java.util.ArrayList;
import java.util.List;
/**
* Shop クラスã¯å•†å“ã®ç®¡ç†ã‚’行ã„ã¾ã™ã€‚
*/
public class Shop {
// 商å“リスト
private List<Product> products;
/**
* Shop クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
*/
public Shop() {
// 商å“ãƒªã‚¹ãƒˆã‚’åˆæœŸåŒ–
this.products = new ArrayList<>();
}
/**
* 商å“をショップã«è¿½åŠ ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
*
* @param product è¿½åŠ ã™ã‚‹å•†å“
*/
public void addProduct(Product product) {
// 商å“リストã«å•†å“を追åŠ
products.add(product);
// è¿½åŠ ã•れãŸå•†å“を表示
System.out.println(product.getName() + " added to the shop.");
}
/**
* 商å“をショップã‹ã‚‰å‰Šé™¤ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
*
* @param product 削除ã™ã‚‹å•†å“
*/
public void removeProduct(Product product) {
// 商å“ãŒå‰Šé™¤ã§ããŸå ´åˆ
if (products.remove(product)) {
System.out.println(product.getName() + " removed from the shop.");
} else {
// 商å“ãŒè¦‹ã¤ã‹ã‚‰ãªã„å ´åˆ
System.out.println("Product not found in the shop.");
}
}
/**
* ショップ内ã®ã™ã¹ã¦ã®å•†å“を表示ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
*/
public void displayAllProducts() {
// 商å“ãŒãªã„å ´åˆ
if (products.isEmpty()) {
System.out.println("No products in the shop.");
} else {
// ã™ã¹ã¦ã®å•†å“ã®æƒ…å ±ã‚’è¡¨ç¤º
System.out.println("Products in the shop:");
for (Product product : products) {
product.displayProductInfo();
}
}
}
}
public class Main {
public static void main(String[] args) {
// Shop クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆ
Shop myShop = new Shop();
// Product クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆ
Product laptop = new Product("Laptop", 999.99);
Product smartphone = new Product("Smartphone", 599.99);
// 商å“を追åŠ
myShop.addProduct(laptop);
myShop.addProduct(smartphone);
// 商å“一覧表示
myShop.displayAllProducts();
// 商å“を削除
myShop.removeProduct(laptop);
// æ›´æ–°ã•れãŸå•†å“一覧表示
myShop.displayAllProducts();
}
}
ã“ã®ä¾‹ã§ã¯ã€Shop クラス㌠Product クラスã®ã‚ªãƒ–ジェクトをリストã§ç®¡ç†ã—ã€å•†å“ã®è¿½åŠ ã€å‰Šé™¤ã€ä¸€è¦§è¡¨ç¤ºã‚’行ã£ã¦ã„ã¾ã™ã€‚
「007 クラスã€å•題集リスト
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
Shop クラス㨠Product クラスを作æˆã—ã¦ãã ã•ã„。Product クラスã¯å•†å“ã®æƒ…å ±ã‚’ä¿æŒã—ã€Shop クラスã¯è¤‡æ•°ã® Product ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’ä¿æŒã—ã¾ã™ã€‚Shop クラスã«ã¯å•†å“ã®è¿½åŠ ã€å‰Šé™¤ã€ä¸€è¦§è¡¨ç¤ºã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¦ãã ã•ã„。
ã“れらã®ãƒ’ントを元ã«ã€ã‚¯ãƒ©ã‚¹ã®å®£è¨€ã¨åŸºæœ¬çš„ãªãƒ¡ã‚½ãƒƒãƒ‰ã®å®Ÿè£…を行ã£ã¦ãã ã•ã„。クラスã®å½¹å‰²ã‚„メソッドã®å…·ä½“çš„ãªå®Ÿè£…ã¯ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã‚„è¦ä»¶ã«ã‚ˆã£ã¦å¤‰ã‚りã¾ã™ãŒã€ã“れらã®åŸºæœ¬çš„ãªã‚¹ãƒ†ãƒƒãƒ—ã§ Shop クラス㨠Product クラスを構築ã§ãã¾ã™ã€‚
→解ç”例
「007 クラスã€å•題集リスト
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
/**
* Car クラスã¯è»Šã®æƒ…å ±ã‚’ä¿æŒã—ã¾ã™ã€‚
*/
public class Car {
// 車ã®ãƒ¢ãƒ‡ãƒ«
private String model;
// 車ã®è‰²
private String color;
// è»Šã®æ‰€æœ‰è€…
private Owner owner;
/**
* Car クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
*
* @param model 車ã®ãƒ¢ãƒ‡ãƒ«
* @param color 車ã®è‰²
*/
public Car(String model, String color) {
// 車ã®ãƒ¢ãƒ‡ãƒ«ã¨è‰²ã‚’åˆæœŸåŒ–
this.model = model;
this.color = color;
}
/**
* è»Šã®æ‰€æœ‰è€…ã‚’è¨å®šã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
*
* @param owner è»Šã®æ‰€æœ‰è€…
*/
public void setOwner(Owner owner) {
// è»Šã®æ‰€æœ‰è€…ã‚’è¨å®š
this.owner = owner;
}
/**
* è»Šã®æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
*/
public void displayCarInfo() {
// 車ã®ãƒ¢ãƒ‡ãƒ«ã‚’表示
System.out.println("Car Model: " + model);
// 車ã®è‰²ã‚’表示
System.out.println("Car Color: " + color);
// è»Šã®æ‰€æœ‰è€…ãŒè¨å®šã•れã¦ã„ã‚‹å ´åˆã¯æ‰€æœ‰è€…ã®æƒ…å ±ã‚’è¡¨ç¤º
if (owner != null) {
System.out.println("Owner: " + owner.getOwnerName());
}
}
}
/**
* Owner クラスã¯è»Šã®æ‰€æœ‰è€…ã®æƒ…å ±ã‚’ä¿æŒã—ã¾ã™ã€‚
*/
public class Owner {
// è»Šã®æ‰€æœ‰è€…ã®åå‰
private String ownerName;
// è»Šã®æ‰€æœ‰è€…ã®é€£çµ¡å…ˆç•ªå·
private String contactNumber;
/**
* Owner クラスã®ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
*
* @param ownerName è»Šã®æ‰€æœ‰è€…ã®åå‰
* @param contactNumber è»Šã®æ‰€æœ‰è€…ã®é€£çµ¡å…ˆç•ªå·
*/
public Owner(String ownerName, String contactNumber) {
// è»Šã®æ‰€æœ‰è€…ã®åå‰ã¨é€£çµ¡å…ˆç•ªå·ã‚’åˆæœŸåŒ–
this.ownerName = ownerName;
this.contactNumber = contactNumber;
}
/**
* è»Šã®æ‰€æœ‰è€…ã®åå‰ã‚’å–å¾—ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
*
* @return è»Šã®æ‰€æœ‰è€…ã®åå‰
*/
public String getOwnerName() {
// è»Šã®æ‰€æœ‰è€…ã®åå‰ã‚’è¿”ã™
return ownerName;
}
}
public class CarOwnerExample {
public static void main(String[] args) {
// Car オブジェクトã®ç”Ÿæˆ
Car myCar = new Car("Toyota Camry", "Blue");
// Owner オブジェクトã®ç”Ÿæˆ
Owner carOwner = new Owner("John Doe", "+123456789");
// Car ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã«æ‰€æœ‰è€…ã‚’è¨å®š
myCar.setOwner(carOwner);
// Car オブジェクト㨠Owner ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã®æƒ…å ±ã‚’è¡¨ç¤º
myCar.displayCarInfo();
}
}
ã“ã®ä¾‹ã§ã¯ã€Car クラスãŒè»Šã®æƒ…å ±ã‚’ä¿æŒã—ã€Owner ã‚¯ãƒ©ã‚¹ãŒæ‰€æœ‰è€…ã®æƒ…å ±ã‚’ä¿æŒã—ã¦ã„ã¾ã™ã€‚Car クラスã«ã¯ Owner オブジェクトを関連付ã‘ã‚‹ setOwner メソッドãŒã‚りã¾ã™ã€‚CarOwnerExample クラスã§ã¯ã€å®Ÿéš›ã«ã‚ªãƒ–ジェクトを生æˆã—ã€é–¢ä¿‚を構築ã—ã¦æƒ…å ±ã‚’è¡¨ç¤ºã—ã¦ã„ã¾ã™ã€‚
「007 クラスã€å•題集リスト
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
Car クラス㨠Owner クラスを作æˆã—ã¦ãã ã•ã„。Car クラスã¯è»Šã®æƒ…å ±ã‚’ä¿æŒã—ã€Owner ã‚¯ãƒ©ã‚¹ã¯æ‰€æœ‰è€…ã®æƒ…å ±ã‚’ä¿æŒã—ã¾ã™ã€‚Car クラス㨠Owner クラスã®ã‚ªãƒ–ジェクトをé©åˆ‡ã«ç”Ÿæˆã—ã€ãれらã®é–¢ä¿‚を考慮ã—ã¦æƒ…å ±ã‚’ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã«è¡¨ç¤ºã—ã¦ãã ã•ã„。
→解ç”例
「007 クラスã€å•題集リスト
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
// å¦ç”Ÿã‚’表ã™ã‚¯ãƒ©ã‚¹
public class Student {
private String name;
// コンストラクタ
public Student(String name) {
this.name = name;
}
// åå‰ã‚’å–å¾—ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public String getName() {
return name;
}
}
import java.util.ArrayList;
import java.util.List;
// 大å¦ã‚’表ã™ã‚¯ãƒ©ã‚¹
public class University {
private String name;
private List<Student> students;
// コンストラクタ
public University(String name) {
this.name = name;
this.students = new ArrayList<>();
}
// å¦ç”Ÿãƒªã‚¹ãƒˆã‚’å–å¾—ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public List<Student> getStudents() {
return students;
}
// å¦ç”Ÿã‚’è¿½åŠ ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public void addStudent(Student student) {
students.add(student);
}
// å¦ç”Ÿã®æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public void displayStudents() {
System.out.println("University: " + name);
System.out.println("Students:");
for (Student student : students) {
System.out.println("- " + student.getName());
}
}
}
// 利用例ã®ã‚¯ãƒ©ã‚¹
public class UniversityExample {
public static void main(String[] args) {
// 大å¦ã‚ªãƒ–ジェクトã®ä½œæˆ
University university1 = new University("Example University 1");
University university2 = new University("Example University 2");
// å¦ç”Ÿã‚ªãƒ–ジェクトã®ä½œæˆ
Student student1 = new Student("John Doe");
Student student2 = new Student("Jane Doe");
Student student3 = new Student("Bob Smith");
// å„大å¦ã«å¦ç”Ÿã‚’追åŠ
university1.addStudent(student1);
university1.addStudent(student2);
university2.addStudent(student3);
// å¦ç”Ÿæƒ…å ±ã®è¡¨ç¤º
university1.displayStudents();
university2.displayStudents();
}
}
ã“ã®è§£ç”例ã§ã¯ã€University クラス㨠Student クラスを作æˆã—ã€é›†ç´„関係を表ç¾ã—ã¦ã„ã¾ã™ã€‚University クラスã«ã¯å¦ç”Ÿã‚’è¿½åŠ ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã¨å¦ç”Ÿæƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ãŒå®Ÿè£…ã•れã¦ã„ã¾ã™ã€‚最後ã«ã€åˆ©ç”¨ä¾‹ã¨ã—ã¦è¤‡æ•°ã®å¤§å¦ã‚ªãƒ–ジェクトを作æˆã—ã€å„大å¦ã«å¦ç”Ÿã‚’è¿½åŠ ã—ã¦å¦ç”Ÿæƒ…å ±ã‚’è¡¨ç¤ºã—ã¦ã„ã¾ã™ã€‚
「007 クラスã€å•題集リスト
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
Studentクラスを作æˆã—ã¦ãã ã•ã„。ã“ã®ã‚¯ãƒ©ã‚¹ã¯å¦ç”Ÿã®åå‰ã‚’ä¿æŒã—ã€ã“ã®æƒ…å ±ã‚’å–å¾—ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¾ã™ã€‚
Universityクラスを作æˆã—ã¦ãã ã•ã„。ã“ã®ã‚¯ãƒ©ã‚¹ã¯è¤‡æ•°ã® Student ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’ä¿æŒã—ã€å¦ç”Ÿã®è¿½åŠ ã¨å¦ç”Ÿæƒ…å ±è¡¨ç¤ºã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¾ã™ã€‚
Student クラス㨠University クラスを利用ã—ã¦ã€è¤‡æ•°ã®å¦ç”Ÿã‚’大å¦ã«è¿½åŠ ã—ã€ãã®ä¸€è¦§ã‚’表示ã—ã¦ãã ã•ã„。
University クラスを宣言ã—ã¦ãã ã•ã„。ã“ã®ã‚¯ãƒ©ã‚¹ã¯å¤§å¦ã‚’表ã—ã¾ã™ã€‚Student クラスを宣言ã—ã¦ãã ã•ã„。ã“ã®ã‚¯ãƒ©ã‚¹ã¯å¦ç”Ÿã‚’表ã—ã¾ã™ã€‚University クラス内㫠Student クラスã®ãƒªã‚¹ãƒˆã‚„é…åˆ—ã‚’ä¿æŒã™ã‚‹ãƒ—ãƒãƒ‘ãƒ†ã‚£ã‚’è¿½åŠ ã—ã¦ãã ã•ã„。University クラスã«å¦ç”Ÿã‚’è¿½åŠ ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ï¼ˆä¾‹: addStudent)を実装ã—ã¦ãã ã•ã„。University クラスã«å¦ç”Ÿã®æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ï¼ˆä¾‹: displayStudents)を実装ã—ã¦ãã ã•ã„。University クラスを利用ã—ã¦è¤‡æ•°ã®å¤§å¦ã‚ªãƒ–ジェクトを作æˆã—ã¦ãã ã•ã„。ã“ã®æ‰‹é †ã‚’通ã˜ã¦ã€University クラス㨠Student クラスã®ä½œæˆã€é›†ç´„関係ã®è¿½åŠ ã€ãƒ¡ã‚½ãƒƒãƒ‰ã®å®Ÿè£…ã€åˆ©ç”¨ä¾‹ã®ä½œæˆã«æ…£ã‚Œã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
→解ç”例
「007 クラスã€å•題集リスト
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
public class Book {
private String title;
private String author;
private int publicationYear;
// コンストラクタ:タイトルã€è‘—者ã€å‡ºç‰ˆå¹´ã‚’指定ã§ãã‚‹
public Book(String title, String author, int publicationYear) {
this.title = title;
this.author = author;
this.publicationYear = publicationYear;
}
// æœ¬ã®æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public void displayInfo() {
System.out.println("タイトル: " + title);
System.out.println("著者: " + author);
System.out.println("出版年: " + publicationYear);
}
}
import java.util.ArrayList;
public class Library {
private ArrayList<Book> books = new ArrayList<>();
// 本をライブラリã«è¿½åŠ ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public void addBook(Book book) {
books.add(book);
System.out.println("æœ¬ã‚’è¿½åŠ ã—ã¾ã—ãŸ: " + book.displayInfo());
}
// ライブラリã«ã‚る本ã®ä¸€è¦§ã‚’表示ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public void displayBooks() {
System.out.println("ライブラリã«ã‚る本ã®ä¸€è¦§:");
for (Book book : books) {
book.displayInfo();
System.out.println("---");
}
}
}
public class Main {
public static void main(String[] args) {
// Book クラス㨠Library クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆ
Book book1 = new Book("Java入門", "山田太郎", 2022);
Book book2 = new Book("Pythonプãƒã‚°ãƒ©ãƒŸãƒ³ã‚°", "鈴木花å", 2021);
Library library = new Library();
// ãƒ©ã‚¤ãƒ–ãƒ©ãƒªã«æœ¬ã‚’追åŠ
library.addBook(book1);
library.addBook(book2);
// ライブラリã«ã‚る本ã®ä¸€è¦§ã‚’表示
library.displayBooks();
}
}
ã“ã®ä¾‹ã§ã¯ã€Book ã‚¯ãƒ©ã‚¹ãŒæœ¬ã®æƒ…å ±ã‚’ä¿æŒã—ã€Library クラスãŒè¤‡æ•°ã®æœ¬ã‚’管ç†ã—ã¦ã„ã¾ã™ã€‚Main ã‚¯ãƒ©ã‚¹ã§æœ¬ã‚’作æˆã—ã€Library クラスã«è¿½åŠ ã—ã¦ãã®ä¸€è¦§ã‚’表示ã—ã¦ã„ã¾ã™ã€‚
「007 クラスã€å•題集リスト
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™
Book クラスを作æˆã—ã¦ãã ã•ã„。ã“ã®ã‚¯ãƒ©ã‚¹ã¯æœ¬ã®ã‚¿ã‚¤ãƒˆãƒ«ã€è‘—者ã€å‡ºç‰ˆå¹´ã‚’ä¿æŒã—ã€ã“ã‚Œã‚‰ã®æƒ…å ±ã‚’è¡¨ç¤ºã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¾ã™ã€‚
Library クラスを作æˆã—ã¦ãã ã•ã„。ã“ã®ã‚¯ãƒ©ã‚¹ã¯è¤‡æ•°ã® Book ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’ä¿æŒã—ã€æœ¬ã®è¿½åŠ ã¨ä¸€è¦§è¡¨ç¤ºã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã¾ã™ã€‚
Book クラス㨠Library クラスを利用ã—ã¦ã€è¤‡æ•°ã®æœ¬ã‚’ライブラリã«è¿½åŠ ã—ã€ãã®ä¸€è¦§ã‚’表示ã—ã¦ãã ã•ã„。
Book クラスを宣言ã—ã¾ã™ã€‚title)ã€è‘—者 (author)ã€å‡ºç‰ˆå¹´ (publicationYear) ã‚’ä¿æŒã™ã‚‹ãŸã‚ã®ãƒ•ィールドを宣言ã—ã¾ã™ã€‚Book クラスã«ã¯ã€ã‚¿ã‚¤ãƒˆãƒ«ã€è‘—者ã€å‡ºç‰ˆå¹´ã‚’指定ã§ãるコンストラクタを作æˆã—ã¾ã™ã€‚displayInfo ãªã©ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’実装ã—ã¦ã€æœ¬ã®æƒ…å ±ã‚’è¡¨ç¤ºã—ã¾ã™ã€‚Library クラスを宣言ã—ã¾ã™ã€‚Book ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã‚’ä¿æŒã™ã‚‹ãŸã‚ã®ãƒªã‚¹ãƒˆã‚„é…列を宣言ã—ã¾ã™ã€‚addBook メソッドを実装ã—ã¦ã€æ–°ã—ã„æœ¬ã‚’ライブラリã«è¿½åŠ ã—ã¾ã™ã€‚displayBooks メソッドを実装ã—ã¦ã€ãƒ©ã‚¤ãƒ–ラリã«ã‚る本ã®ä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚Book クラスを利用ã—ã¦è¤‡æ•°ã®æœ¬ã‚’作æˆã—ã¾ã™ã€‚Library クラス㮠addBook メソッドを使ã£ã¦ã“ã‚Œã‚‰ã®æœ¬ã‚’ライブラリã«è¿½åŠ ã—ã¾ã™ã€‚Library クラス㮠displayBooks メソッドを呼ã³å‡ºã—ã¦ã€ãƒ©ã‚¤ãƒ–ラリã«ã‚る本ã®ä¸€è¦§ã‚’表示ã—ã¾ã™ã€‚ã“ã®ãƒ’ントã«åŸºã¥ã„ã¦ã€Book クラス㨠Library クラスを作æˆã—ã¦è¤‡æ•°ã®æœ¬ã‚’è¿½åŠ ã—ã€ä¸€è¦§ã‚’表示ã—ã¦ã¿ã¦ãã ã•ã„。
→解ç”例
「007 クラスã€å•題集リスト
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™