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"
        
    }
    时光见证了成长,还很无知,我想一点点幼稚转为有知!
  • 相关阅读:
    人工智能第一次作业
    在uni-app的textarea中输入纯数字或者英文不换行的问题
    uni-app实现选择图片上传并显示进度条
    减肥计划
    前端时间格式2020-02-11T12:24:18.000+0000转化成正常格式
    男孩和女孩
    java 获取当前年份 月份 日期
    深海收破烂
    如何爱一个人
    随手心情
  • 原文地址:https://www.cnblogs.com/foreveriOS/p/5569181.html
Copyright © 2011-2022 走看看