小编Bra*_*ith的帖子

具有四边形基础的Square/Rectangle(具有约束不变量)之间的继承关注

我有一个界面Polygon,然后我有一个类Quadrilateral.然后,我有两个类,Square和Rectangle,它们扩展了Quadrilateral.

四边形由实例变量sideA,sideB,sideC和sideD组成.它包含方法area()和周长()来计算任何四边形的面积和周长.

考虑到这一点,类Square有一个实例变量lengthOfSides,而Rectangle类有两个实例变量length和width.

由于四边形中的方法区域和周长可用于计算任何四边形的面积和周长,包括正方形和矩形,我认为最好只构造一个正方形或矩形,然后调用超类来指定边(四边形需要面积和周长计算).此外,当更改Square或Rectangle中的实例变量时,setter还会更新父类中的关联值.

这是Square类:

/**
 * A model for a Square.
 * 
 * @author BTKS
 */
public class Square extends Quadrilateral {

    private static final double ANGLES_SUM = 180; // the total sum of two opposite angles in degrees

    private double lengthOfSides; // the length of each side

    /**
     * Construct a new Square.
     * 
     * @param lengthOfSides the length of each side
     */
    public Square(double lengthOfSides) {
        super(ANGLES_SUM, lengthOfSides, lengthOfSides, lengthOfSides, lengthOfSides);

        this.lengthOfSides = lengthOfSides;
    }

    /**
     * …
Run Code Online (Sandbox Code Playgroud)

java inheritance

7
推荐指数
1
解决办法
755
查看次数

标签 统计

inheritance ×1

java ×1