关于Swift类继承的一点小问题

 

 

别人已经写过很多关于Swift类继承的文章,这里我只是为了补充一点菜鸟教程继承上没有明面说明的东西,菜鸟教程关于类继承的网站:http://www.runoob.com/swift/swift-inheritance.html

 

关于这个问题,另一篇博客也写了这个:

http://blog.csdn.net/binglan520/article/details/52662815

 

父类里面所有的属性 在定义时可以不给出初始值,在init函数里面赋予值就行了,而子类的属性 在定义时必须给出初始值,不然在init函数中就会报错

 

例子代码如下:

 

Class Father{
   var valueFather:Int //这里没有赋值  
   init{
     ValueFather = 0;
    }
}
Class Child{
   var valueChild:Int   //这里没有赋值的话,编译会报错
   init{
       super.init();
       valueChild = 1;
   }  
}

 正确的子类应该是

Class Child{
   var valueChild:Int  = 0 //这里没有赋值的话,编译会报错
   init{
       super.init();
       valueChild = 1;
   }  
}

 

报错的类型是:Property 'self.valueChild' not initialized at super.init call

posted @ 2018-03-03 15:15  _Roy  阅读(239)  评论(2编辑  收藏  举报