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]
    时光见证了成长,还很无知,我想一点点幼稚转为有知!
  • 相关阅读:
    JWT在ASP.NET Core3.1的应用
    .NET Core 3.0中IAsyncEnumerable<T>有什么大不了的?
    C#类继承中构造函数的执行序列
    C#中的out 参数,ref参数,值参数
    ABP之启动配置
    ABP之模块系统
    ABP之N层架构
    ABP之什么是ABP(ASP.NET Boilerplate)
    如何使用ASP.NET Core、EF Core、ABP(ASP.NET Boilerplate)创建分层的Web应用程序(第一部分)
    ABP之Setting
  • 原文地址:https://www.cnblogs.com/foreveriOS/p/5567073.html
Copyright © 2011-2022 走看看