Swift高级开发语言--枚举,继承,协议,扩展
2015-10-23 19:32
363 查看
枚举
继承
协议
扩展
//enum 枚举名: 类型{ // case 分支1 = 赋值1 // case 分支2 = 赋值2 //} enum PersonIndenttity:String { case Teacher = "Teacher_id" case Student = "Student_id" } // 类 class Person { var indentity:PersonIndenttity? var name:String? var age:String // 类的构造器 init (name:String, age:String, idd:PersonIndenttity) { self.name = name self.age = age self.indentity = idd } func hello() { print("hello") } // 类型fangfa class func hello2() { } } // 枚举 枚举名.类型 // 枚举名可以省略 var person = Person(name: "毛毛", age: "80", idd: PersonIndenttity.Student) //枚举值的获取 // 获取当前分支 person.indentity?.hashValue // 获取分支的值 person.indentity?.rawValue
继承
//继承 类名:父类名 class Student:Person{ var classNumber: Int = 23 init(name: String, age: String, idd: PersonIndenttity, classNum:Int) { // 如果属性仅仅指定类型,需要在super.init前进行赋值操作 self.classNumber = classNum super.init(name: name, age: age, idd: idd) } // 重写父类方法,需要使用override关键字 override func hello() { } override class func hello2() { } }
协议
// 协议 protocol OneProtocol { func typeFunc() static func typeFunc2() mutating func typeFunc3() } // 类和结构体实现协议方法的时候,需要根据本身的语法规则做出调整 class StudentNew:OneProtocol { func typeFunc() { } class func typeFunc2() { } func typeFunc3() { } } struct VideoNew:OneProtocol { func typeFunc() { } static func typeFunc2() { } mutating func typeFunc3() { } } // 类同时继承父类和协议的时候,父类必须写在前面 //class StudentNew2:Person, OneProtocol { // //} @objc protocol TwoProtocol { optional func byebye() } // 当协议中方法使用 optional声明可选时,协议必须生命成@objc,此时,协议为类协议:class protocol // 并且不能被结构体继承 //struct struct2:TwoProtocol { // //}
扩展
// 扩展 var value :String = "" extension Person { func hello5() { } // 如果想扩展属性,只能是计算属性 var stu2:String { get { return value } set { value = newValue } } // 扩展构造器的时候需要使用connvenience convenience init (name:String, age:String, idd:PersonIndenttity, stu2:String){ self.init(name:name, age:age, idd:idd) self.stu2 = stu2 } } var person11 = Person(name: "毛毛", age: "80", idd: .Student, stu2: "傻逼") person11.stu2 person11.stu2 = "二笔" person11.stu2
相关文章推荐
- Apple Swift学习教程
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift中定义二维数组的方法及遍历方法示例
- 简单分析Swift语言的一些基本特征
- Swift与C语言指针结合使用实例
- Swift心得笔记之控制流
- 用Swift构建一个简单的iOS邮件应用的方法
- 苹果公司推出的新编程语言Swift简介和入门教程
- Swift中的指针操作和使用详细介绍
- Swift中使用正则表达式的一些方法
- Swift心得笔记之运算符
- Swift中使用可选类型完美解决占位问题
- Swift学习笔记之构造器重载
- Swift中的Access Control权限控制介绍
- Swift类型创建之自定义一个类型详解
- Swift教程之控制流详解
- Swift中初始化方法的顺序介绍
- Swift里的值类型与引用类型区别和使用
- Swift调用Objective-C编写的API实例