构造器重载-创新互联

一、构造器重载概念

我们注重客户提出的每个要求,我们充分考虑每一个细节,我们积极的做好成都做网站、网站设计服务,我们努力开拓更好的视野,通过不懈的努力,创新互联赢得了业内的良好声誉,这一切,也不断的激励着我们更好的服务客户。 主要业务:网站建设,网站制作,网站设计,重庆小程序开发,网站开发,技术开发实力,DIV+CSS,PHP及ASP,ASP.Net,SQL数据库的技术开发工程师。

       函数重载概念也适用于构造器,条件如下:

   1、函数有相同的名字‘

   2、参数列表不同或返回值类型不同;

   构造器满足以下2个条件:

class Rectangle{
                var width:Double
                var height:Double
                init(width:Double,height:Double){
                    self.width=width
                    self.height=height
}
                
                init(W width:Double,H height:Double){
                    self.width=width
                    self.height=height
}
                
                init(length:Double){
                    self.width=length
                    self.height=length
}
                init(){
                    width = 10.0
                    height = 20.0
}
}

二、值类型构造器类型

       

           为了减少多个构造器间的代码重复,在定义构造器时,可以通过调用其它的构造器来完成实例的构造部分,这个过程称为构造器代理。构造器代理在值类型和引用类型中使用不同,

   

struct Rectangle{
                var width:Double
                var height:Double
                init(width:Double,height:Double){
                    self.width=width
                    self.height=height
}
                
                init(W width:Double,H height:Double){
                    self.init(width:width,height:height)
}
                
                init(length:Double){
                    self.init(width:length,height:length)
}
                init(){
                    self.init(width:60,height:80)
}
}

三、引用类型构造器横向代理

           引用类型构造器代理是类构造器代理,由于类有继承关系,类构造器代理比较复杂,分为横向代理和向上代理

           1、横向代理类型类似于值类型构造器代理,发生在同一类内部,这种构造器称为便利构造器;

            2、向上代理发生在继承情况下,在子类型构造过程中要先调用父类构造器,初始化父类的存储属性,这种构造器称为指定构造器。

class Rectangle{
                var width:Double
                var height:Double
                init(width:Double,height:Double){
                    self.width=width
                    self.height=height
}
                
                init(W width:Double,H height:Double){
                    self.width=width
                    self.height=height
}
                
                convenience init(length:Double){
                    self.init(W:length,H:length)
}
                 convenience init(){
                    self.init(length:10.0)
                    self.height = 20.0
}
}

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


文章名称:构造器重载-创新互联
分享网址:http://scyanting.com/article/gsdij.html