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]
    时光见证了成长,还很无知,我想一点点幼稚转为有知!
  • 相关阅读:
    Eclipse启动不了
    第三章Hibernate关联映射
    System Generator简介
    Chipscope使用
    总线及数据传输技术【待完善】
    多相滤波器
    notepad++与ISE/Vivado关联
    常用IP核
    〖Linux〗Qt+gsoap开发客户端程序,服务端地址设定的字符串转换处理
    〖Android〗OK6410a的Android HAL层代码编写笔记
  • 原文地址:https://www.cnblogs.com/foreveriOS/p/5567073.html
Copyright © 2011-2022 走看看