// Shapeクラスã®å®šç¾©
class Shape {
// é¢ç©ã‚’計算ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰
public void calculateArea() {
System.out.println("é¢ç©ã‚’計算ã—ã¾ã™");
}
}
// Circleクラスã®å®šç¾©ï¼ˆShapeクラスを継承)
class Circle extends Shape {
private double radius; // 円ã®åŠå¾„
// コンストラクタ
public Circle(double radius) {
this.radius = radius;
}
// é¢ç©ã‚’計算ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ï¼ˆShapeクラスã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ï¼‰
@Override
public void calculateArea() {
double area = Math.PI * radius * radius;
System.out.println("円ã®é¢ç©: " + area);
}
}
// Rectangleクラスã®å®šç¾©ï¼ˆShapeクラスを継承)
class Rectangle extends Shape {
private double width; // 矩形ã®å¹…
private double height; // 矩形ã®é«˜ã•
// コンストラクタ
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
// é¢ç©ã‚’計算ã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ï¼ˆShapeクラスã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ï¼‰
@Override
public void calculateArea() {
double area = width * height;
System.out.println("矩形ã®é¢ç©: " + area);
}
}
// メインクラス
public class Main {
public static void main(String[] args) {
// Circleクラスã®åˆ©ç”¨
Circle circle = new Circle(5.0);
circle.calculateArea(); // 出力: 円ã®é¢ç©: 78.53981633974483
// Rectangleクラスã®åˆ©ç”¨
Rectangle rectangle = new Rectangle(4.0, 6.0);
rectangle.calculateArea(); // 出力: 矩形ã®é¢ç©: 24.0
}
}
ã“ã®ã‚³ãƒ¼ãƒ‰ã§ã¯ã€ShapeクラスãŒåŸºæœ¬çš„ãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’æä¾›ã—ã€Circleクラスã¨RectangleクラスãŒãれを継承ã—ã¦å¿…è¦ãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ã„ã¾ã™ã€‚ãれãžã‚Œã®ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆã—ã€calculateArea メソッドを呼ã³å‡ºã™ã“ã¨ã§ã€å††ã¨çŸ©å½¢ã®é¢ç©ãŒè¨ˆç®—ã•れã¦è¡¨ç¤ºã•れã¾ã™ã€‚
「014 継承ã€å•題集リスト
🎯 実習ã§ç†è§£ã‚’æ·±ã‚よã†
ã“ã®å†…容ã«ã¤ã„ã¦JavaDrillã§å®Ÿéš›ã«æ‰‹ã‚’å‹•ã‹ã—ã¦å¦ç¿’ã§ãã¾ã™


コメント