iOS开发Swift篇—(十)方法

iOS开发Swift篇—(十)方法函数

1、简单说明spa

跟其余面向对象语言同样,Swift中的方法能够分为2大类:code

(1)实例方法(Instance Methods)对象

  在OC中,实例方法以减号(-)开头blog

(2)类型方法(Type Methods)开发

  在OC中,类型方法以加号(+)开头class

 

2、实例方法test

1.什么是实例方法?iOS开发

实例方法:就是只能用对象实例调用的方法,也能够称为“对象方法”语法

实例方法的语法跟函数基本同样

2.代码示例:

1 class Dog {
2     func run() {
3         println("Dog--->run")
4     }
5 }
6 var d = Dog()
7 d.run()

说明

第2行定义了一个run方法

第7行调用run方法:调用方法也跟调用函数很像,格式是“对象名.方法名(参数)”

 

3、方法的参数

(1)方法和函数的参数有点区别,默认状况下

方法的第1个参数名仅仅是局部参数名

方法的其余参数名(除第1个参数名之外)既是局部参数名,又是外部参数名

1 class Calculator {
2     func sum(num1: Int, num2: Int) -> Int {
3         return num1 + num2
4     }
5 }
6 var c = Calculator()
7 c.sum(10, num2: 20)

说明

num1仅仅是局部参数名,num2既是局部参数名,又是外部参数名

至关于func sum(num1: Int, #num2: Int) -> Int

(2)能够在参数名前面加个下划线 _,去掉默认的外部参数名

1 class Calculator {
2     func sum(num1: Int, _ num2: Int) -> Int {
3         return num1 + num2
4     }
5 }
6 var c = Calculator()
7 c.sum(10, 20)

说明:num一、num2都仅仅是局部参数名,不是外部参数名

(3)也能够给第1个参数增长外部参数名

1 class Calculator {
2     func sum(#num1: Int, num2: Int) -> Int {
3         return num1 + num2
4     }
5 }
6 var c = Calculator()
7 c.sum(num1: 10, num2: 20)

说明:num一、num2既是局部参数名,又是外部参数名

 

4、类型方法

1.什么是类型方法?

  被关键字class修饰的方法,也能够称为“类方法”

1 class Calculator {
2     class func sum(num1: Int, num2: Int) -> Int {
3         return num1 + num2
4     }
5 }
6 Calculator.sum(10, num2: 20)

说明

第2行定义了一个类型方法

类型方法的特色:直接用类调用类型方法,不能用对象调用类型方法

第6行调用类型方法,格式是“类名.方法名(参数)”

注意:类型方法和实例方法的方法名能够同样

 1 class Calculator {
 2     class func sum(num1: Int, num2: Int) -> Int {
 3         return num1 + num2
 4     }
 5     func sum(num1: Int, num2: Int) -> Int {
 6         return num1 + num2
 7     }
 8 }
 9 Calculator.sum(10, num2: 20)
10 var c = Calculator()
11 c.sum(10, num2: 20)

说明

第2行定义的类型方法和第5行定义的实例方法:方法名同样

第9行使用类调用类型方法

第11行使用对象调用实例方法

 

5、self

1.简单说明

在每一个方法内部,都有个隐含的属性self,它的做用跟Objective-C中self的用法基本一致

self表明的是什么?谁调用这个方法,self就表明谁

(1)在实例方法中:self表明调用方法的某个对象

(2)在类型方法中:self表明调用方法的某个类

2.代码示例

 1 class Person {
 2     class func run() {
 3         println("class func run")
 4     }
 5     func run() {
 6         println("func run")
 7     }
 8     class func test() {
 9         self.run();
10     }
11     func test() {
12         self.run();
13     }
14 }
15 var p = Person()
16 p.test()
17 Person.test()

程序的输出结果是:

func run

class func run

相关文章
相关标签/搜索