美文网首页花落√莫相思
14-Swift之访问控制&泛型

14-Swift之访问控制&泛型

作者: NetWork小贱 | 来源:发表于2017-05-10 18:15 被阅读22次

1、Swift 中访问控制的关键字

public (公共) / internal / private(私有)

2、各个控制关键字的意义

1、public 的意义

公共类、方法和属性可供App 中的任意部分访问

2、internal 的意义

内部数据只能在定义这些数据的模块内部访问。模块是一个应用程序、库或框架。internal是默认的访问控制级别,即如果不指定访问控制级别,那就认为是internal

3、private 的意义

私有数据只能供声明它的文件访问

4、注意

注意:被定义为private的类是一个例外,如果没有为一个成员声明访问控制级别,它会被定为 private ,而不是 internal

3、访问控制关键字的举例

1、简单例子
class  Car {
    public var priceValue:Int?
    internal var weight:Int?
    private var height:Int?
}
2、private 定义属性为只读属性
class  Car {
    public var priceValue:Int?
    internal var weight:Int?
    private var height:Int?
    /**
     我们可以将一个属性的setter 声明为私有的,从而使这个属性是只读的。
     */
    private(set) var price:Int = 1000
}
3、举例使用
/* 创建一个Car对象*/
let MyCar = Car()
MyCar.priceValue = 12000
MyCar.weight = 1200
let value = MyCar.price
print(value)
/* Car 的height 的对象无法被调用 */

4、泛型

1、什么是泛型

泛型是程序设计语言的一种特性。允许程序员在强类型程序设计语言中编写代码时定义一些可变部分,那些部分在使用前必须作出指明。

2、泛型的定义?

1.在程序编码中一些包含类型参数的类型,也就是说泛型的参数只可以代表类,不能代表个别对象。(这是当今较常见的定义)
2.在程序编码中一些包含参数的类。其参数可以代表类或对象等等。(人们大多把这称作模板)不论使用哪个定义,泛型的参数在真正使用泛型时都必须作出指明。

3、泛型的举例
/* 泛型的举例*/
class NetWork <T> {
    /*定义一个泛型的变量*/
    var Kvalue :T?
    /* 便捷初始化*/
    convenience init(value:T){
        self.init()
        self.Kvalue = value
    }
    
    /* 添加一个数*/
    func addNumber(value:T) -> NetWork<T> {
        let NewNetWork  = NetWork<T>(value:value)
        return NewNetWork
    }
}
5、泛型的使用
/* 整数型*/
let interTree = NetWork<Int>(value:100)
let interTree1 =  interTree.addNumber(value: 200)
print(interTree1.Kvalue!)

/* 字符串 */
let stringTree = NetWork<String>(value:"xiao")
let stringTree1 = stringTree.addNumber(value: "NetWork小贱")
print(stringTree1.Kvalue!)

相关文章

  • 14-Swift之访问控制&泛型

    1、Swift 中访问控制的关键字 public (公共) / internal / privat...

  • java学习—— 泛型定义

    1、泛型类定义 [访问权限] class 类名称<泛型类型标识1, 泛型标识2,...,泛型标识3> { [访问...

  • Geekband-third week of part3

    1.泛型算法之变易算法 2.泛型算法之排序 3.泛型算法之泛型数值算法 4.内存分配器

  • ★13.泛型

    关于泛型 静态方法无法访问泛型的类型参数。(C++可以) Java泛型使用擦除实现,如运行时,List ,List...

  • Swift Tour Learn (十三) -- Swift 语

    本章将会介绍 模块和源文件访问级别访问控制语法自定义类型子类常量、变量、属性、下标构造器协议扩展泛型类型别名位运算...

  • 枚举&泛型

    简介 枚举是一种特殊的类,创建枚举类的关键字是enum,通常用于设置常量,枚举限制变量只能是预先设定好的值。使用枚...

  • 编程语言

    数据类型 操作符 执行流程控制 类、继承、接口、内部类、类型信息、枚举 包,访问权限 异常 容器 泛型 注解 I&...

  • JAVA泛型•约束和局限性

    为了更好地阅读体验,欢迎访问博客原文 泛型参数的限制 在Java中,实例化泛型类时泛型参数不能使用基本类型,如Li...

  • Swift学习笔记(十二)--泛型与访问控制

    这一章应该算是最后一章了, 官方文档上有一个高级操作符的, 主要是将一些位运算或者左移右移等其它的运算符, 这个东...

  • 详解Java泛型之4——一个例子理解泛型带来的好处

    前面我介绍了关于泛型、通配符以及泛型擦除的相关知识点,大家可以参考以下文章: 详解Java泛型之1——入门泛型必懂...

网友评论

    本文标题:14-Swift之访问控制&泛型

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