第八次作业 -- 继承
题目:
编写一个应用程序,创建一个矩形类,类中具有长、宽两个成员变量和求周长的方法。再创建一个矩形类的子类——正方形类,类中定义求面积方法、重写求周长的方法。在主类中,输入一个正方形边长,创建正方形对象,求正方形的面积和周长。(注意:所有类均在一个包中)
代码实现:
TestA.java:
package factorial; /** * * @ClassName: TestA * @author Dandelion * @date: 2019年9月24日 下午7:15:32 * TODO :创建一个父类和子类,父类为长方形,子类为正方形,子类中继承 * TODO :求周长方法。 */ public class TestA{ public int length; public int width; public int perimeter; public int getPerimeter() { perimeter = (length + width) * 2; return perimeter; } } class TestB extends TestA{ public int getArea() { return length * length; } public int getPerimeter() { return length * 4; } }
Testc.java:
package factorial; import java.util.*; /** * * @ClassName: Testc * @author Dandelion * @date: 2019年9月24日 下午7:18:27 * TODO 测试周长和面积 */ public class Testc { public static void main(String[] args) { System.out.println("请输入长方形的长和宽:"); Scanner input = new Scanner(System.in); TestA testa = new TestA(); testa.length = input.nextInt(); testa.width = input.nextInt(); int Perimeter = testa.getPerimeter(); System.out.println("周长为:" + Perimeter); System.out.println("请输入正方形的长:"); TestB testb = new TestB(); testb.length = input.nextInt(); int area = testb.getArea(); int squarePerimeter = testb.getPerimeter(); System.out.println("正方形的面积和周长为:" + area + "\t" +squarePerimeter); } }
运行结果: