// Notification インターフェイス
interface Notification {
void sendNotification(String message);
}
// EmailNotification クラス
class EmailNotification implements Notification {
private String emailAddress;
public EmailNotification(String emailAddress) {
this.emailAddress = emailAddress;
}
@Override
public void sendNotification(String message) {
// メールé€ä¿¡ã®å®Ÿè£…
System.out.println("Sending email to " + emailAddress + ": " + message);
}
}
// SMSNotification クラス
class SMSNotification implements Notification {
private String phoneNumber;
public SMSNotification(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
@Override
public void sendNotification(String message) {
// SMS é€ä¿¡ã®å®Ÿè£…
System.out.println("Sending SMS to " + phoneNumber + ": " + message);
}
}
ã“ã®ä¾‹ã§ã¯ã€Notification インターフェイスã«ã¯ sendNotification メソッドãŒå«ã¾ã‚Œã¦ãŠã‚Šã€EmailNotification クラス㨠SMSNotification クラスã¯ãれを実装ã—ã¦ã„ã¾ã™ã€‚ãれãžã‚Œã®ã‚¯ãƒ©ã‚¹ã§ã¯ã€å…·ä½“çš„ãªé€šçŸ¥ã®é€ä¿¡æ‰‹æ®µã«åˆã‚ã›ã¦å®Ÿè£…ãŒè¡Œã‚れã¦ã„ã¾ã™ã€‚
通知機能ã®ãŸã‚ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイス
通知機能ã®ãŸã‚ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスをè¨è¨ˆã™ã‚‹å ´åˆã€é€šçŸ¥ã‚’行ã†å…±é€šã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚„挙動を定義ã—ã¾ã™ã€‚以下ã«ã€Notification インターフェイスã®è§£èª¬ã‚’示ã—ã¾ã™ã€‚
// Notification インターフェイス
interface Notification {
void sendNotification(String message);
}
Notificationインターフェイス: ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスã¯é€šçŸ¥ã®åŸºæœ¬çš„ãªæŒ™å‹•を定義ã—ã¦ã„ã¾ã™ã€‚void sendNotification(String message): 通知をé€ä¿¡ã™ã‚‹ãŸã‚ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ã€‚メッセージを引数ã¨ã—ã¦å—ã‘å–りã€å…·ä½“çš„ãªé€šçŸ¥ã®é€ä¿¡æ‰‹æ®µã¯å„クラスã§å®Ÿè£…ã—ã¾ã™ã€‚
ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスを実装ã™ã‚‹ã‚¯ãƒ©ã‚¹ï¼ˆä¾‹ï¼šEmailNotificationã€SMSNotification)ã§ã¯ã€sendNotification メソッドã®å…·ä½“çš„ãªå®Ÿè£…ãŒè¡Œã‚れã¾ã™ã€‚å„クラスã¯ç•°ãªã‚‹é€šçŸ¥æ‰‹æ®µã‚’担当ã—ã€å…±é€šã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスを通ã—ã¦çµ±ä¸€çš„ã«æ‰±ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
// EmailNotification クラス
class EmailNotification implements Notification {
private String emailAddress;
public EmailNotification(String emailAddress) {
this.emailAddress = emailAddress;
}
@Override
public void sendNotification(String message) {
// メールé€ä¿¡ã®å®Ÿè£…
System.out.println("Sending email to " + emailAddress + ": " + message);
}
}
// SMSNotification クラス
class SMSNotification implements Notification {
private String phoneNumber;
public SMSNotification(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
@Override
public void sendNotification(String message) {
// SMS é€ä¿¡ã®å®Ÿè£…
System.out.println("Sending SMS to " + phoneNumber + ": " + message);
}
}
ã“ã®ã‚ˆã†ãªã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスを使用ã™ã‚‹ã“ã¨ã§ã€é€šçŸ¥æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹ã‚¯ãƒ©ã‚¹ã‚’柔軟ã‹ã¤çµ±ä¸€çš„ã«æ‰±ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ç•°ãªã‚‹é€šçŸ¥æ‰‹æ®µã‚’è¿½åŠ ã™ã‚‹å ´åˆã§ã‚‚ã€Notification インターフェイスを実装ã™ã‚‹ã“ã¨ã§ä¸€è²«æ€§ã‚’ä¿ã¡ã¤ã¤ã€æ–°ã—ã„å®Ÿè£…ã‚’è¿½åŠ ã§ãã¾ã™ã€‚
「017 インターフェイスã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント