zoukankan      html  css  js  c++  java
  • swift协议_010-swift协议protocol

    //: Playground - noun: a place where people can play
    
    import UIKit
    
    //-----协议-------//
    
    //协议:声明一组属性和方法,由协议的签订者来实现协议方法。
    
    //1.协议的声明
    protocol WXHLProtocol {
        
        //声明一组方法
        func doHomework()
        
        func dontLate()
        
        //3.Swift的协议中可以声明属性
        var money : Int {set get}
        var classNumber : Int {get}
        
        
        
    }
    
    //2.协议的签订 类名:协议名
    class Person : WXHLProtocol {
        
        var name : String
        
        init(name : String) {
            self.name = name
        }
        
        //协议的签订者中必须实现协议方法
        func doHomework() {
            print("(name)在写作业")
        }
        
        func dontLate() {
            print("(name)不要迟到")
        }
        
        
        //实现协议中声明的属性
        var money : Int {
            set {
                self.money = newValue
    
            }
    
            get {
                return self.money
    
            }
        }
        
        var classNumber : Int {
            
            return 1000
        }
        
        
    }
    
    let p = Person(name: "小宝")
    p.doHomework()
    p.dontLate()
    
    //4.协议的继承 子协议 : 父协议
    protocol EngineerProtocol : WXHLProtocol {
        
        var job : String {get set}
        var header : String {get}
        
        
    }
    
    class SwiftEngineer : Person, EngineerProtocol {
        
        //协议中声明的属性可以是存储属性,也可以计算属性
        var job : String = "Swift Engineer"
        
        var header : String = "TeamLeader"
        
    }
    时光见证了成长,还很无知,我想一点点幼稚转为有知!
  • 相关阅读:
    程序格式
    java数据类型
    java-helloworld
    原生字符串
    字符串常见操作19个操作
    字符串函数操作
    【字符串切片操作和range函数用法】
    【字符串拼接之两种方法】
    C#中ref和out的区别使用
    c语言内部函数、外部函数多文件编译总结(vs2015编译环境)
  • 原文地址:https://www.cnblogs.com/foreveriOS/p/5569181.html
Copyright © 2011-2022 走看看