// Drawable インターフェイスã®å®šç¾©
interface Drawable {
void draw();
}
// Circle クラスã®å®šç¾©
class Circle implements Drawable {
private int radius;
public Circle(int radius) {
this.radius = radius;
}
@Override
public void draw() {
System.out.println("Drawing a circle with radius: " + radius);
// ã“ã“ã«å††ã‚’æç”»ã™ã‚‹ãŸã‚ã®ã‚³ãƒ¼ãƒ‰ã‚’追åŠ
}
}
// Rectangle クラスã®å®šç¾©
class Rectangle implements Drawable {
private int width;
private int height;
public Rectangle(int width, int height) {
this.width = width;
this.height = height;
}
@Override
public void draw() {
System.out.println("Drawing a rectangle with width: " + width + " and height: " + height);
// ã“ã“ã«å››è§’形をæç”»ã™ã‚‹ãŸã‚ã®ã‚³ãƒ¼ãƒ‰ã‚’追åŠ
}
}
// Triangle クラスã®å®šç¾©
class Triangle implements Drawable {
private int base;
private int height;
public Triangle(int base, int height) {
this.base = base;
this.height = height;
}
@Override
public void draw() {
System.out.println("Drawing a triangle with base: " + base + " and height: " + height);
// ã“ã“ã«ä¸‰è§’形をæç”»ã™ã‚‹ãŸã‚ã®ã‚³ãƒ¼ãƒ‰ã‚’追åŠ
}
}
ã“ã®ä¾‹ã§ã¯ã€Drawable インターフェイス㌠draw メソッドをå«ã‚“ã§ãŠã‚Šã€ãれãžã‚Œã®å›³å½¢ã‚¯ãƒ©ã‚¹ãŒã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã„ã¾ã™ã€‚å„å›³å½¢ã‚¯ãƒ©ã‚¹ã¯æç”»ã«å¿…è¦ãªæƒ…å ±ã‚’æŒã¡ã€æç”»å‡¦ç†ãŒè¡Œã‚れるã¨ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã«å¯¾ã—ã¦ç°¡å˜ãªãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒè¡¨ç¤ºã•れã¾ã™ã€‚æç”»ã™ã‚‹ãŸã‚ã®å®Ÿéš›ã®ã‚³ãƒ¼ãƒ‰ã¯ã‚³ãƒ¡ãƒ³ãƒˆã§ç¤ºã•れã¦ã„る部分ã«è¿½åŠ ã•れるã“ã¨ãŒæœŸå¾…ã•れã¾ã™ã€‚
å›³å½¢ã®æç”»ã«é–¢ã™ã‚‹ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイス
ã“ã®ä¾‹ã§ã¯ã€ã€ŒDrawableã€ã¨ã„ã†ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスを使用ã—ã¦ã€ç•°ãªã‚‹å›³å½¢ã®æç”»ã«å…±é€šã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã€Œdrawã€ã‚’定義ã—ã¦ã„ã¾ã™ã€‚以下ã«ã€ã“ã®ä¾‹ã®è¦ç‚¹ã‚’解説ã—ã¾ã™ã€‚
Drawable インターフェイスã®å®šç¾©:
interface Drawable {
void draw();
}
Drawable インターフェイスã¯ã€draw メソッドをæŒã¤å˜ç´”ãªã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスã§ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯å›³å½¢ã®æç”»ã‚’担当ã—ã¾ã™ã€‚
Circle クラスã®å®šç¾©:
class Circle implements Drawable {
// ... (コンストラクタã¨ãƒ—ライベート変数ãªã©)
@Override
public void draw() {
System.out.println("Drawing a circle with radius: " + radius);
// ã“ã“ã«å††ã‚’æç”»ã™ã‚‹ãŸã‚ã®ã‚³ãƒ¼ãƒ‰ã‚’追åŠ
}
}
Circle クラス㯠Drawable インターフェイスを実装ã—ã¦ã„ã¾ã™ã€‚
draw メソッドãŒã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れã€å††ã®æç”»å‡¦ç†ãŒè¿½åŠ ã•れã¦ã„ã¾ã™ã€‚
Rectangle クラスã®å®šç¾©:
class Rectangle implements Drawable {
// ... (コンストラクタã¨ãƒ—ライベート変数ãªã©)
@Override
public void draw() {
System.out.println("Drawing a rectangle with width: " + width + " and height: " + height);
// ã“ã“ã«å››è§’形をæç”»ã™ã‚‹ãŸã‚ã®ã‚³ãƒ¼ãƒ‰ã‚’追åŠ
}
}
Rectangle クラスも Drawable インターフェイスを実装ã—ã¦ã„ã¾ã™ã€‚
draw メソッドãŒã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れã€å››è§’å½¢ã®æç”»å‡¦ç†ãŒè¿½åŠ ã•れã¦ã„ã¾ã™ã€‚
Triangle クラスã®å®šç¾©:
class Triangle implements Drawable {
// ... (コンストラクタã¨ãƒ—ライベート変数ãªã©)
@Override
public void draw() {
System.out.println("Drawing a triangle with base: " + base + " and height: " + height);
// ã“ã“ã«ä¸‰è§’形をæç”»ã™ã‚‹ãŸã‚ã®ã‚³ãƒ¼ãƒ‰ã‚’追åŠ
}
}
Triangle クラスも Drawable インターフェイスを実装ã—ã¦ã„ã¾ã™ã€‚
draw メソッドãŒã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れã€ä¸‰è§’å½¢ã®æç”»å‡¦ç†ãŒè¿½åŠ ã•れã¦ã„ã¾ã™ã€‚
ã“ã®ã‚ˆã†ãªè¨è¨ˆã‚’採用ã™ã‚‹ã“ã¨ã§ã€ç•°ãªã‚‹ç¨®é¡žã®å›³å½¢ã‚’åŒã˜ Drawable インターフェイスã®ä¸€éƒ¨ã¨ã—ã¦çµ±ä¸€çš„ã«æ‰±ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ã“れã¯ãƒãƒªãƒ¢ãƒ¼ãƒ•ィズムã®ä¸€ä¾‹ã§ã‚りã€å…±é€šã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ェイスをæŒã¤ã‚ªãƒ–ジェクトãŒç•°ãªã‚‹ã‚¯ãƒ©ã‚¹ã§ç•°ãªã‚‹å‹•作をã™ã‚‹ã“ã¨ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚
「017 インターフェイスã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント