zoukankan      html  css  js  c++  java
  • Swift

    1,Swift中协议类似于别的语言里的接口,协议里只做方法的声明,包括方法名、返回值、参数等信息,而没有具体的方法实现。
     

    protocol Person {
        //读写属性
        var name:String{get set}
        //只读属性
        var age:Int{get}
        
        //类型方法
        static func method1()
        
        //实例方法
        func method2() -> Int
        
        //突变方法
        mutating func method3()
        
    }
    

     2,协议可以继承另一个协议

    protocol Animal {
        func move()
    }
    protocol Bird:Animal{
        func song()
    }
    class Chiken: Bird {
    
        func song() {
            print("gege")
        }
        func move() {
            print("run")
        }
    }
    

     3,如果某个类集继承了某个父类,又遵循了某个协议,那么冒号后面应该先写父类,再写协议

    class CC:继承的父类, 协议1, 协议2{
    }
    

    类扩展(extension)

    1,给已有的类添加计算属性和计算静态属性
    2,定义新的实例方法和类方法
    3,提供新的构造器
    4,定义下标脚本
    5,是一个已有的类型符合某个协议

    各个修饰符区别

    1. private 访问级别所修饰的属性或者方法只能在当前类里访问。
    2. fileprivate 访问级别所修饰的属性或者方法在当前的 Swift 源文件里可以访问。
    3. internal(默认访问级别,internal修饰可写可不写)
    4.          internal 访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。
      • 如果是框架或者库代码,则在整个框架内部都可以访问,框架由外部代码所引用时,则不可以访问。
      • 如果是 App 代码,也是在整个 App 代码,也是在整个 App 内部可以访问。
    5. public可以被任何人访问。但其他 module 中不可以被 override 和继承,而在 module 内可以被 override 和继承。
    6. open可以被任何人使用,包括override和继承
  • 相关阅读:
    QuickSort
    Java细节
    Java
    Prime
    apache和tomcat有什么不同,为什么要整合apache 和tomcat?
    java线程面试题及答案
    Struts2中的ModelDriven机制及其运用
    Java中instanceof关键字的用法总结
    spring特点与好处
    spring与struts有什么区别?
  • 原文地址:https://www.cnblogs.com/baidaye/p/8708813.html
Copyright © 2011-2022 走看看