• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift类、继承、接口

原作者: [db:作者] 来自: [db:来源] 收藏 邀请


import Foundation

class Hello{
    
    var _name:String?="swift global"
    
    init(name:String){                    //定义类中有参数的构造方法
        _name=name;
        println("Hello , \(name)");
    }
    
    init(){                                //定义类中无参数的构造方法
        println("this is init method");
    }
    
    func sayHello(){                       //定义成员方法
        println("hello \(_name)")
    }
    
    class func meClass(){                 //定义类方法
        println("this is class method");
    }
    
}


class Hi:Hello{
    override func sayHello() {          //继承Hello类,并重载 其成员方法
        super.sayHello()                //调用父类的方法
        println("hloo override \(_name)");
    }
}

class HiChild:Hi{}                      //继承Hi类

extension Hi{                           //动态扩展 Hi 类,增加一个成员方法, 继承了Hi 类的子类也可以调用这个方法
    func sayHaha(){
        println("HHHaaa");
    }
}

var h1 = Hello()                        //实例Hello类,调用无參的init方法 ,输出this is init method

var h2 = Hello(name:"Hello init")     //调用有参的init方法,输出:Hello , Hello init


var hi = Hi()       //实例化子类,会调用父类的无參构造方法,输出this is init method
hi.sayHello() //调用类的方法,输出hello Optional("swift global") 和 hloo override Optional("swift global")

var h3
= HiChild() //实例化,调用父类的父类的构造方法,输出this is init method

h3.sayHaha() //父类扩展了一个方法,则其子类可以调用这个方法,输出 HHHaaa
h3.sayHello() //调用父类的方法,输出
hello Optional("swift global") 和 hloo override Optional("swift global")

Hello.meClass() //调用类方法,输出
this is class method

 

 

接口

protocol People{           //protocal 定义一个接口
    func getName()->String  //接口中申明一个方法,该方法返回一个字符串 
}

class Man:People {          //实现该接口
    func getName() -> String {   //实现接口的类 必须实现接口中所有的方法
        return "zhangsan"
    }
}

var m = Man()
println("Name is \(m.getName())")

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
窥探Swift之别具一格的Struct和Class发布时间:2022-07-13
下一篇:
[Swift]LeetCode904.水果成篮|FruitIntoBaskets发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap