美文网首页
12 - 基础篇之类的构造函数

12 - 基础篇之类的构造函数

作者: flowerflower | 来源:发表于2018-02-01 21:44 被阅读68次

一、构造函数的简介

  • 构造函数类似于OC种的初始化方法:init方法
  • 默认情况下载创建一个类时,必然会调用一个构造函数
  • 即便是没有编写任何构造函数,编译器也会提供一个默认的构造函数。
  • 如果是继承自NSObject,可以对父类的构造函数进行重写

*注意:
override重写,如果写的某一个方法是对父类方法进行重写,那么必须在该方法前加上override


二、构造函数的使用

class Student: NSObject{
        //定义存储属性
    var age: Int = 0
    var name: String?
    //自定义构造函数
    //注意:如果自定义了构造函数,会覆盖init()方法.即不在有默认的构造函数
    init(name: String, age : Int){
        self.name = name
        self.age =  age
    }
    // 重点是 as? as!
    init(dic:[String: AnyObject]){
        let tempName = dic["name"]
        /* tempName 是一个AnyObject? 转成String?
         as? 最终转成的类型是一个可选类型
         as!  最终转成的类型是一个确定的类型
         **/
        name = tempName as? String
        if let tempAge = dic["age"] as? Int{
            age = tempAge
        }
    }    
}

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()

        let p = Student(name: "flowerflower", age: 24)
        print("name = \(p.name!) age= \(p.age)")  //name = flowerflower age= 24
        let p2 = Student(dic: ["name":"flowerflower" as AnyObject,"age":18 as AnyObject])
        
        print("name = \(p2.name!) age= \(p2.age)")  //name = flowerflower age= 18
    }

相关文章

  • 12 - 基础篇之类的构造函数

    一、构造函数的简介 构造函数类似于OC种的初始化方法:init方法 默认情况下载创建一个类时,必然会调用一个构造函...

  • Swift构造函数和便利构造函数

    [转]Swift构造函数和便利构造函数 构造函数基础 构造函数是一种特殊的函数,主要用来在创建对象时初始化对象,为...

  • 关于构造函数Array属性和方法总结

    @(JavaScript基础) 关于构造函数Array属性和方法总结 构造函数Array属性: Array.len...

  • 原型链经典面试题

    命题点一:原型基础 + 构造函数基础 命题点二:自有属性与原型继承属性 命题点三:构造函数综合考察

  • # 构造函数基础

    构造函数是一种特殊的函数,主要用来在创建对象时初始化对象,为对象成员变量设置初始值,在 OC 中的构造函数是 in...

  • C++之类的构造函数、析构函数

    一、认识构造函数   当创建一个类的对象时,主要是通过一个或者几个特殊的成员函数来控制对象的初始化,这种函数就是构...

  • JavaScript构造函数

    在JavaScript编程中,构造函数是面向对象编程的基础。创建构造函数和普通函数一样,也是使用function关...

  • 第2章 类和对象

    2.1 类的基础知识2.2 构造函数2.3 拷贝构造函数2.4 析构函数2.5 C++能自动产生成员函数2...

  • 构造函数篇

    1.构造函数: 如果一个类没有显示的申明构造函数,那么,系统就会默认给你生成无参的构造函数,和一个默认的拷贝构造,...

  • [C++之旅] 12 拷贝构造函数

    [C++之旅] 12 拷贝构造函数 拷贝构造函数的特点 如果没有自定义的拷贝构造函数则系统自动生成一个默认的拷贝构...

网友评论

      本文标题:12 - 基础篇之类的构造函数

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