从类访问功能

时间:2017-06-10 15:47:58

标签: swift

我刚刚开始编码,我遇到了从类中访问函数的问题。我想打印三角形的区域,但它只打印“()”。这是我的代码:

    class Shape {
    var area:Double?
    func calculateArea(valA:Double, valB: Double) {
        area = valA * valB
    }
}
class Triangle: Shape {
    override func calculateArea(valA: Double, valB: Double) {
        area = ((valA*valB)/2)
    }
}

var area1 = Triangle ()
print (area1.calculateArea(valA: 2, valB: 1))

提前致谢。

2 个答案:

答案 0 :(得分:0)

您的calculateArea功能不会返回任何内容,因此无需打印任何内容。

您必须调用该函数,然后在area对象上打印area1属性:

var area1 = Triangle()
area1.calculateArea(valA: 2, valB: 1)
print(area1.area)

答案 1 :(得分:0)

你的功能不会返回任何内容,所以你的空白打印。

您可以从类属性中打印area值:

area1.calculateArea(valA: 2, valB: 1)
print(area1.area)

或编辑您的功能

func calculateArea(valA:Double, valB: Double) -> Double {
    area = valA * valB
    return area
}

override func calculateArea(valA: Double, valB: Double) -> Double {
    area = ((valA*valB)/2)
    return area
}

然后你可以直接打印功能结果

print(area1.calculateArea(valA: 2, valB: 1))