// Shape クラスã®å®šç¾©
class Shape {
// area メソッド
public double area() {
System.out.println("Calculating area of a generic shape");
return 0.0; // デフォルトã®å€¤ï¼ˆãƒ€ãƒŸãƒ¼ï¼‰
}
}
// Circle クラスã®å®šç¾©ï¼ˆShape クラスを継承)
class Circle extends Shape {
// area メソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰
@Override
public double area() {
System.out.println("Calculating area of a circle");
// 円ã®é¢ç©ã‚’計算(具体的ãªè¨ˆç®—å¼ã‚’è¿½åŠ ï¼‰
double radius = 5.0; // ä»®ã®åŠå¾„
return Math.PI * Math.pow(radius, 2);
}
}
// Rectangle クラスã®å®šç¾©ï¼ˆShape クラスを継承)
class Rectangle extends Shape {
// area メソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰
@Override
public double area() {
System.out.println("Calculating area of a rectangle");
// 長方形ã®é¢ç©ã‚’計算(具体的ãªè¨ˆç®—å¼ã‚’è¿½åŠ ï¼‰
double length = 4.0; // ä»®ã®é•·ã•
double width = 6.0; // ä»®ã®å¹…
return length * width;
}
}
// メインクラス
public class Main {
public static void main(String[] args) {
// Shape クラスã®ã‚ªãƒ–ジェクトを作æˆ
Shape shape = new Shape();
// Shape クラス㮠area メソッドを呼ã³å‡ºã™
double genericArea = shape.area();
System.out.println("Area of generic shape: " + genericArea);
// Circle クラスã®ã‚ªãƒ–ジェクトを作æˆ
Circle circle = new Circle();
// Circle クラス㮠area メソッドを呼ã³å‡ºã™ï¼ˆã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒå‘¼ã°ã‚Œã‚‹ï¼‰
double circleArea = circle.area();
System.out.println("Area of circle: " + circleArea);
// Rectangle クラスã®ã‚ªãƒ–ジェクトを作æˆ
Rectangle rectangle = new Rectangle();
// Rectangle クラス㮠area メソッドを呼ã³å‡ºã™ï¼ˆã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã•れãŸãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒå‘¼ã°ã‚Œã‚‹ï¼‰
double rectangleArea = rectangle.area();
System.out.println("Area of rectangle: " + rectangleArea);
}
}
ã“ã®ã‚³ãƒ¼ãƒ‰ã§ã¯ã€Shape クラスã«ã¯ãƒ‡ãƒ•ォルト㮠area メソッドãŒã‚りã€Circle クラス㨠Rectangle クラスãŒãれãžã‚Œã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã„ã¾ã™ã€‚メインクラスã§ã¯ã€Shape クラスã€Circle クラスã€ãŠã‚ˆã³ Rectangle クラスã®ã‚ªãƒ–ジェクトを作æˆã—ã€ãれãžã‚Œã® area メソッドを呼ã³å‡ºã—ã¦ã„ã¾ã™ã€‚
「015 ãƒãƒªãƒ¢ãƒ¼ãƒ•ィズムã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント