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]
时光见证了成长,还很无知,我想一点点幼稚转为有知!