继承中的构造函数

在Unity引擎中,构造函数的执行先于Start方法。如果父类有一个带参数的构造函数,它将取代无参数的构造函数。当子类继承这样的父类时,必须通过base关键字调用父类的有参数构造函数,否则会导致错误。解决方法是使用base关键字来指定调用父类的特定构造函数。
摘要由CSDN通过智能技术生成

1.在unity中构造函数的执行顺序要比Start优先

2.当在类中声明了一个有参数的构造函数时,每个类自带的没有参数的构造函数将会被取代,如果这个有参数构造函数的类作为父类,当子类不去给父类的有参构造函数提供相应的参数值就会错。

父类和子类的写法

当手动给父类添加无参的构造函数时错误取消,出现该错误的原因是在创建了一个子类的对象时,因为子类继承了父类,所以会先创建一个父类的对象出来,当对象出现的时候会先默认调用父类无参的构造函数,当执行完父类对象的构造函数后,才会执行子类的构造函数,但是父类的无参构造函数被有参替代了所以无法调用到。

解决办法:使用关键字base

使用base可以不让子类默认的调用父类无参的构造函数而是转而调用有参数的构造函数,具体实现如下

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值