zoukankan      html  css  js  c++  java
  • swift语言点评二十一-协议

    定义有什么,及哪些必须实现。

    protocol defines a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality.

    Property Requirements

    The protocol doesn’t specify whether the property should be a stored property or a computed property—it only specifies the required property name and type.

    1. protocol SomeProtocol {
    2. var mustBeSettable: Int { get set }
    3. var doesNotNeedToBeSettable: Int { get }
    4. }

    If you mark a protocol instance method requirement as mutating, you don’t need to write the mutatingkeyword when writing an implementation of that method for a class. The mutating keyword is only used by structures and enumerations.

    Class-Only Protocols

    You can limit protocol adoption to class types (and not structures or enumerations) by adding the AnyObjectprotocol to a protocol’s inheritance list.

    1. protocol SomeClassOnlyProtocol: AnyObject, SomeInheritedProtocol {
    2. // class-only protocol definition goes here

    协议联合体作为参量

    1. func wishHappyBirthday(to celebrator: Named & Aged) {
    2. print("Happy birthday, (celebrator.name), you're (celebrator.age)!")
    3. }
    4. let birthdayPerson = Person(name: "Malcolm", age: 21)
    5. wishHappyBirthday(to: birthdayPerson)
  • 相关阅读:
    JAVA 接口与抽象类(interface与abstract)的区别
    接口测试的测试点
    HTTP协议首部及Fiddler工具工作原理
    Android自动化测试AppiumLibrary库关键字
    蔬菜水果购买记
    健胃饮食
    榨汁机食谱
    随机权值平均
    周鸿祎IOT发布会思考
    Bilinear CNN与 Randomly Wired Neural Network
  • 原文地址:https://www.cnblogs.com/feng9exe/p/8745348.html
Copyright © 2011-2022 走看看