2.Swift 类和接口详解
2015-10-05 17:02
435 查看
2.Swift 类和接口详解
Swift 类和接口详解类继承
类动态扩展
协议接口
输出结果
类继承
:
// 父类 class Me{ var _name:String?="???" init(){ } init(name:String){ self._name = name } func say(){ print("Me: \(self._name)") } // 静态方法 class func classfunc(){ print("static class func") } } // 子类 class SuperCat: Me { // 重写父类say() override func say() { super.say() print("SuperCat: \(self._name)") } }
类动态扩展
extension
// 类的动态扩展(给Me类动态添加一个方法superSay) extension Me{ func superSay(){ print("extension class") } }
协议(接口)
protocol
// 定义一个接口(协议) protocol Interface{ func info()->String } // 协议实现类 class Implement:Interface{ func info() -> String { return "implement" } }
输出结果
print(" ====== 普通 ======",terminator: "\n") var m1 = Me() var m2 = Me(name:"CaMnter") m1.say() m2.say() Me.classfunc() print(" ====== 继承 ======",terminator: "\n") var sc = SuperCat(name: "CaMnter") sc.say() print(" ====== 类的动态扩展 ======",terminator: "\n") sc.superSay() print(" ====== 接口 ======",terminator: "\n") var i2 = Implement() print("\(i2.info())")
输出结果:
====== 普通 ====== Me: Optional("???") Me: Optional("CaMnter") static class func ====== 继承 ====== Me: Optional("CaMnter") SuperCat: Optional("CaMnter") ====== 类的动态扩展 ====== extension class ====== 接口 ====== implement
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Apple Swift学习教程
- Prototype源码浅析 String部分(二)
- PostgreSQL教程(三):表的继承和分区表详解
- Ruby中的String对象学习笔记
- C#、ASP.NET通用扩展工具类之TypeParse
- Lua编程示例(二):面向对象、metatable对表进行扩展
- Windows Powershell扩展类型系统
- C#中struct和class的区别详解
- Lua面向对象之类和继承浅析
- 浅析Ruby中继承和消息的相关知识
- PostgreSQL ERROR: invalid escape string 解决办法
- C#、ASP.NET通用扩展工具类之LogicSugar
- VBS ArrayList Class vbs中的数组类