zoukankan      html  css  js  c++  java
  • 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]
    时光见证了成长,还很无知,我想一点点幼稚转为有知!
  • 相关阅读:
    MySQL 中随机抽样:order by rand limit 的替代方案
    mysql下distinct和group by区别对比
    MVC中实现多按钮提交(转)
    js的逻辑 OR 运算符- ||
    js 实现键盘记录 兼容FireFox和IE
    jquery扩展
    sp_executesql的用法
    MVC中,视图的Layout使用
    MVC4的过滤器
    MVC中的Repository模式
  • 原文地址:https://www.cnblogs.com/foreveriOS/p/5567073.html
Copyright © 2011-2022 走看看