// 抽象クラス LibraryResource
abstract class LibraryResource {
private boolean checkedOut;
// コンストラクタ
public LibraryResource() {
this.checkedOut = false;
}
// checkOut メソッド
public void checkOut() {
if (!checkedOut) {
checkedOut = true;
System.out.println("Resource checked out successfully.");
} else {
System.out.println("Resource is already checked out.");
}
}
}
// Book クラス
class Book extends LibraryResource {
private String title;
// コンストラクタ
public Book(String title) {
this.title = title;
}
// オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰
@Override
public void checkOut() {
super.checkOut();
System.out.println("Book title: " + title);
}
}
// Magazine クラス
class Magazine extends LibraryResource {
private String name;
// コンストラクタ
public Magazine(String name) {
this.name = name;
}
// オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れãŸãƒ¡ã‚½ãƒƒãƒ‰
@Override
public void checkOut() {
super.checkOut();
System.out.println("Magazine name: " + name);
}
}
// Main クラス
public class Main {
public static void main(String[] args) {
// ç•°ãªã‚‹è³‡æ–™ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’生æˆ
LibraryResource book = new Book("Java Programming");
LibraryResource magazine = new Magazine("Science Today");
// 資料を貸ã—出ã—ã—ã€çµæžœã‚’表示
System.out.println("Checking out a book:");
book.checkOut();
System.out.println("\nChecking out a magazine:");
magazine.checkOut();
}
}
ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒ ã§ã¯ã€LibraryResource 抽象クラスを作æˆã—ã€Book クラス㨠Magazine クラスãŒãれを継承ã—ã¦ã„ã¾ã™ã€‚checkOut メソッドãŒã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れã€main メソッドã§ç•°ãªã‚‹è³‡æ–™ãŒè²¸ã—出ã•れるã¨ãã®æŒ™å‹•ãŒè¡¨ç¤ºã•れã¾ã™ã€‚
「018 オブジェクト指å‘ã®æ·±åŒ–ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント