我是靠谱客的博主 平淡电话,最近开发中收集的这篇文章主要介绍Swift中的便利构造器和构造器链,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

import UIKit
// 1.一个类中至少有一个指定构造器, 其必须负责初始化类中所有的实例存储属性
// 2.便利构造器属于次要的, 辅助性的构造器
// 3.类中可以不定义便利构造器, 便利构造器必须调用同一个类中的其他构造器完成初始化
// 4.便利构造器的语法格式 convenience init(形参) {}
// 5.只有类中才有便利构造器
// 类的构造器链
// Swift对构造器之间的调用链制定了如下3条规则:
// 1.子类构造器必须调用直接父类的指定构造器(如果有乳类)
// 2.便利构造器必须调用同一个类中的其他构造器
// 3.便利构造器调用的高早期链的最终节点必须是指定构造器
// 简化为:
// 1.指定构造器总是向上代理(调用父类构造器)
// 2.便利构造器总是横向代理(调用当前类的其他构造器)
class Person {
var name: String!
var weight: Double
// 定义指定构造器
init(name: String, weight: Double) {
self.name = name
self.weight = weight
}
// 定义便利构造器(使用convenience修饰)
convenience init(n name: String, w weight: Double) {
self.init(name: name, weight: weight)
}
}
var p1 = Person(name: "Rinpe", weight: 62.0)
var p2 = Person(n: "Lili", w: 50.0)

  

转载于:https://www.cnblogs.com/Rinpe/p/5188847.html

最后

以上就是平淡电话为你收集整理的Swift中的便利构造器和构造器链的全部内容,希望文章能够帮你解决Swift中的便利构造器和构造器链所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部