题目:
我原来的想法是构造一个抽象的shape,在里面加上属性,通过下面的子类,加载参数,返回给抽象父类,再由父类返回参数回来(之前一直没搞懂我自己的想法,各位一定要想明白在开始敲,不然改动会头痛的)
错误的代码:
由于父类的方法属性先子类加载,会出现以下错误
修改后的答案:
想法:
我的想法是当一个抽象类时,里面定义抽象方法即可,可以不需要定义其它的属性之类的。至于需要的属性,则可以到继承的子类中去定义,可定义为私有的属性,并构造一个带属性参数的构造函数去访问它。(理论知识还没有学太多,后面知道这个就在加上去)
结果:
可以使用一个工厂方法来将其子类的结果加工,得到面积返回0,周长返回1。