不理解value类型为什么是子类型,函数返回值不是规定是父类型吗

class Father{

}
class child01: Father{

}
class child02: Father {

}

func chagetype(num: Int) -> Father {
    if(num<10){
        var value = child01()
        return value     
    }
    else{
        var value = child02()
        return value     
    }
}

 

子类型继承于父类型,子类型也可以视作父类型,也可强制转换为子类型