swift访问控制_006_swift基本学习

//: Playground - noun: a place where people can play

import UIKit

//------访问控制------//
//模块:以独立的单元构建和发布的Framework或者Application,在swift中一个模块可以使用import关键字引入另一个模块
//源文件:swift file, .swift的文件,通常一个源文件是属于一个模块的。


//1.访问级别
//public:只要导入该模块的地方,都可以使用这个实体(类、结构体,函数,变量)
public let openString = "公开访问的字符串"

//internal:只能在当前的模块中访问
internal class WXTime {
    var begin : Int = 10
    var end : Int = 20

}

//private:只能在当前的源文件中访问
private var privateInt : Int = 100

//2.内部的访问级别不能超过外部的访问权限
internal class WXLable {
    
    private var text : String = ""
    
    public func changeText() {
        
        
        
    }
    
    
    
}


//3.默认的访问级别:如果没有显式的确定代码中实体的访问级别,则默认为internal级别


//4.使用访问控制实现封装
struct Grade {
    
    let letter: String
    let points : Double

}

class Student {
    
    var firstName : String = ""
    var lastName : String = ""
    
    //Swift中的private与OC中的private不同:它的范围限于整个源文件。而不是当前的类或者结构体。
    private var grades : [Grade] = []
    
    
}

let kathy = Student()
kathy.firstName = "kathy"
kathy.lastName = "kang"

//创建结构体实例
let grade1 = Grade(letter: "B", points: 100)
let grade2 = Grade(letter: "C", points: 70)

//在当前源文件中可以访问到grades这个属性。
kathy.grades = [grade1, grade2]
时光见证了成长,还很无知,我想一点点幼稚转为有知!
原文地址:https://www.cnblogs.com/foreveriOS/p/5567073.html