美文网首页
为类、结构体以及枚举添加方法

为类、结构体以及枚举添加方法

作者: 一个栗 | 来源:发表于2021-10-05 18:16 被阅读0次

实例方法

  • 实例方法是属于特定类实例、结构体实例或者枚举实例的函数。他们为这些实例提供功能性,要么通过提供访问和修改实例属性的方法,要么通过提供与实例目的相关的功能。

实例方法 - self

  • 每一个类的实例都隐含一个叫做 self 的属性,它完完全全与实例本身相等。你可以使用 self 属性来在当前实例当中调用它自身的方法。
  • 实际上,你不需要经常在代码中写 self。如果你没有显示地写出 self, Swift 会在你于方法中使用已知属性或者方法的时候假定你是调用了当前实例中的属性或者方法。
  • 例外就是当一个实例方法的形式参数名与实例中某个属性拥有相同名字的时候。在这种情况下,形式参数名具有优先权,并且调用属性的时候使用更加严谨的方式就很有必要了。你可以使用 self 属性来区分形式参数名和属性名。

在实例方法中修改属性

  • 结构体和枚举是值类型。默认情况下,值类型属性不能被自身的实例方法修改。
  • 你可以选择在 func 关键字前放一个 mutating 关键字来指定方可以修改属性。

在 mutating 方法中赋值给 self

  • Mutating 方法可以指定整个实例给隐含的 self 属性。

枚举的 mutating 方法

  • 枚举的异变方法可以设置隐含的 self 属性为相同枚举里的不同成员。

类型方法

  • 通过在 func 关键字之前使用 static 关键字来明确一个类型方法。类同样可以使用 class 关键字来允许子类重写父类对类型方法的实现。

相关文章

  • 为类、结构体以及枚举添加方法

    实例方法 实例方法是属于特定类实例、结构体实例或者枚举实例的函数。他们为这些实例提供功能性,要么通过提供访问和修改...

  • Swift 基本语法(八)— 为类、结构体添加属性、方法

    为结构体、类、枚举添加属性,设置属性观察器。 添加方法 //属性观察器 懒加载及属性修饰符: 添加实例方法。 都默...

  • 为类、结构体以及枚举添加属性

    常量结构体实例的存储属性 如果你创建了一个结构体的实例并且把这个实例赋给常量,你不能修改这个实例的属性,即便是声明...

  • Swift- Protocol

    ps:协议可以被类,结构体和枚举实现 一、添加协议属性 二、添加协议方法 三、添加构造器 四、为已有类型添加协议和...

  • iOS-Swift-方法、下标、继承

    一. 方法 枚举、结构体、类都可以定义实例方法、类型方法。定义类方法:枚举、结构体使⽤static,类使⽤stat...

  • 扩展

    为现有的类、结构体、枚举类型、协议添加了新功能。扩展可以:1、添加计算属性(get set);2、定义方法;3、提...

  • swift中的方法

    方法是关联了特定类型的函数。类,结构体以及枚举都能定义实例方法,方法封装了给定类型特定的任务和功能。类,结构体和枚...

  • Swift 中为类、结构体以及枚举添加属性和方法

    为类、结构体以及枚举添加属性 储存属性 在其最简单的形式下,存储属性是一个座位特定类和结构体实例一部分的常量和变量...

  • swift extension添加方法的两种方式

    swift的extension很好用,可以为现有的类、结构体、枚举添加方法,也可以结合协议扩展来添加方法,如下代码...

  • Swift之方法

    1、实例方法实例方法属于特定类实例、结构体实例或者枚举实例的函数这里的方法其实就是函数,只不过放在类、结构体和枚举...

网友评论

      本文标题:为类、结构体以及枚举添加方法

      本文链接:https://www.haomeiwen.com/subject/opribltx.html