美文网首页程序员
swift构造方法之带参数的构造方法(二)

swift构造方法之带参数的构造方法(二)

作者: 谁先注册了阿K | 来源:发表于2017-05-21 01:31 被阅读0次

上一遍主要讲述了缺省值的构造方法,这一篇主要讲述带有参数的构造方法

class Point{

var x: Int 

var y:Int 

init(x: Int, y: Int){

self.x = x

self.y = y

}

var p0 = Point(x:1, y:1)

如果此时你调用 let p1 = Point(),此时会报错,因为你自定义了 init(x: Int, y: Int)这个构造方法,即系统的init()隐私构造方法无效了。故此方法会无效。另外对于带参数的构造方法,这个参数,默认即是外部参数,也是内部参数。 这也是与普通函数不同的地方,类似于:

init(#x: Int, #y: Int){

...

}

如果你不希望他作为外部参数,只作为内部参数,可以:

init(_ x: Int, _y: Int){

...

}

注意:类中参数的顺序于属性的定义顺序无关,只需要保持他调用完之后有值即可。

2.常量存储属性与构造方法

class Person{

let name = "xiaoming"

var age :Int

init(name: String, age: Int){

self.name = name

self.age = 18

}

let ak = Person(name: "zcs", age: 18 )

注意二:常量存储属性只能在构造方法中修改,其他任何时候都不可以修改。

3.可选属性与构造方法

class Cat{

let age: Int

let sport: String?

init(age:Int){

self.age = age

}

}

注意3: 如果类中包含可选项属性,则可以在构造方法中不对可选项属性进行初始化,该属性默认为nil,当然也可以在构造方法中对其初始化,但一般不会这样做,这样就失去它作为可选项的意义了。

相关文章

  • swift构造方法之带参数的构造方法(二)

    上一遍主要讲述了缺省值的构造方法,这一篇主要讲述带有参数的构造方法 class Point{var x: Intv...

  • Swift子类重写父类构造函数

    swift中子类重写父类构造方法: 如果父类没有指定构造方法(带参数的构造方法), 子类重写父类构造方法就不需要调...

  • PHP构造方法

    1.在一个类里面创建"构造方法" (第一个不带参数的构造方法)(第二个是带参数的构造方法) 2.析构函数作用 -1...

  • scala:构造方法与apply

    scala中分主构造方法、辅助构造方法,辅助构造方法必须调用主构造方法 构造方法参数作用域 如果父类有主构造方法,...

  • Swift 引发的一场知识暴动

    一、构造方法 在Swift中,主要有三种构造方法:系统构造方法、普通构造方法与便利构造方法。构造方法一般都是以 i...

  • 十四、构造方法

    一、构造方法格式与特点  构造方法的格式:修饰符 构造方法名(参数列表){} 构造方法的体现: ...

  • JAVA之静态方法

    1、构造方法的语法 构造方法的方法名必与类须名一样,而且构造方法没有返回值。 构造方法可以有参数,使用时,参数传递...

  • java练习题

    1、继承中的构造方法 输出:父类无参数的构造方法子类有参数的构造方法400 输出: ABeijingBShangh...

  • Scroller源码解析

    1.构造方法 从上面代码可以看到有三个构造方法,默认通过一个参数的构造方法调两个参数的构造方法,再通过两个参数的构...

  • day12

    1.构造方法构造方法的格式:修饰符 构造方法名(参数列表){}构造方法的体现:构造方法没有返回值类型。也不需要写返...

网友评论

    本文标题:swift构造方法之带参数的构造方法(二)

    本文链接:https://www.haomeiwen.com/subject/fplmxxtx.html