美文网首页Swift一步步学习
Swift学习03(函数和类)

Swift学习03(函数和类)

作者: coderhlt | 来源:发表于2017-07-03 18:05 被阅读3次

    一、 函数

    • 函数定义
      1.没有参数,没有返回值的函数
    func method1() ->Void{
        print("没有参数,没有返回值的函数")
    }
    

    2..有参数,没有返回值的函数

    func method2(number:Int) ->Void{
        print("有参数,没有返回值的函数")
    }
    

    3.没参数,有返回值的函数

    func method3() ->String{
        print("没参数,有返回值的函数")
        return "1234"
    }
    

    4.有参数,有返回值的函数

    func method4(num1 : Int, num2 : Int) -> Int {
        print("有参数,有返回值的函数")
        return num1 + num2
    }
    method4(num1: 1, num2: 2)
    
    • 函数的外部参数和内部参数
    func method4(num1 : Int, num2 : Int) -> Int {
    //内部参数: 在函数内部能看到标识符名称, 该标识符就是内部参数
        print("有参数,有返回值的函数")
        return num1 + num2
    }
    method4(num1: 1, num2: 2)
     //外部参数: 在函数外部能看到标识符名称, 该标识符就是外部参数
    

    1.外部参数不显示或者给外部参数替换名字

    // 如果不希望显示外部参数, 可以在标识符前加上 _
    func method4(_ num1 : Int, _ num2 : Int) -> Int {
        return num1 + num2
    }
    method4( 1,  2)//两个外部参数都不显示
    func method5(_ num1 : Int, num2 : Int) -> Int {
     return num1 + num2
    }
    method5(1, num2: 2)//第一个外部参数不显示
    func method6( num1 : Int, _ num2 : Int) -> Int {
        return num1 + num2
    }
    method6(num1: 1, 2);//第二个外部参数不显示
    func method7(name1 num1 : Int, _ num2 : Int) -> Int {
        
        return num1 + num2
    }
    //给外部参数替换名字,只需要在标识符前加上新的变量名
    method7(name1: 1, 2)////一个外部参数替换名字
    func method8(name1 num1 : Int,  name2  num2 : Int) -> Int {
        return num1 + num2
    }
    method8(name1: 1, name2: 2)//两个外部参数替换名字
    

    2.可变参数(函数参数个数不一定)

    import UIKit
    func sum(nums:Int...) -> Int {
          var result = 0
        for num in nums {
            result += num
        }
        return result
    }
    sum(nums: 1,2,3,4)
    sum(nums: 1,2,3)
    sum(nums: 1,2,3,4,5,6,7)
    func sum1(_ nums :String...) ->String {
        var result = "0"
        for num in nums {
            result += num
        }
        return result
    }
    sum1("1","2","3","4")
    sum1("a","b")
    sum1("a")
    

    3.默认参数(可以给参数设一个默认值)

    import UIKit
    func makeCoffee(_ coffeename :String = "雀巢"){
        print("制作\(coffeename)")
    }
    makeCoffee()//调用时可以不传参数,参数为默认值
    makeCoffee("牛奶")//传参数后,默认值不起作用
    

    二、类

    class 类名{
    }
    定义的类,可以没有父类.那么该类是rootClass
    通常情况下,定义类时.继承自NSObject(非OC的NSObject)

    class person{
    //属性定义的同时,必须给其赋值
        var age :Int = 0
        var name :String = ""  // 如果属性是值类型, 则初始化为空值
        var view:UIView?// 如果属性是对象类型, 则初始化为nil值
    }
    // 注意:赋值不是调用set方法,直接拿到属性给属性赋值
    let p = person()
    p.age=122
    p.name="qqq"
    print(p.age)
    print(p.name)
    let view = UIView()
    p.view = view
    print(p.view!)
    
    • 计算属性
      计算属性: 不直接存储值,而是用get/set来做.可用来操作其他属性值的变化
      get: 取, 用来封装取值的过程
      set: 设, 用来封装设值的过程
    class Student {
        var mathScore : Double = 0.0
        var chineseScore : Double = 0.0
        var averageScore : Double {
            return (chineseScore + mathScore) * 0.5
        }  
    }
    
    • 类属性
    class Student : NSObject {
        // 类属性
        static var corseCount : Int = 0//类属性使用static来修饰
    }
    // 设置类属性的值
    Student.corseCount = 3
    // 取出类属性的值
    print(Student.corseCount)
    

    相关文章

      网友评论

        本文标题:Swift学习03(函数和类)

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