main.swift
1 import Foundation 2 3 //建立1000个女朋友实例,输出其信息和约会语句 4 for var i in 1 ... 1000 { 5 var temp = GirlFriends(name:"(randomName(4))", age:randomAge(18, max:30)) 6 print(temp) 7 print(" 第 (i) 名女朋友 (temp.name) 同意和你约会。") 8 }
random func.swift
1 import Foundation 2 3 //设立随机年龄,范围是18-30 4 func randomAge(min:Int, max:Int) -> Int { 5 return (Int(arc4random()) % (max-min+1) + min) 6 } 7 8 9 //设立随机4个字母的名字,范围是 A-Z 10 func random(min:UInt32, max:UInt32) -> UInt32 { 11 return arc4random_uniform(max-min) + min 12 } 13 func randomName(len:Int) -> String { 14 let min:UInt32 = 65 15 let max:UInt32 = 90 16 var string = "" 17 for _ in 0 ..< len { 18 string.append (UnicodeScalar(random(min, max:max)) ) 19 } 20 return string 21 }
class-friends.swift
1 import Foundation 2 3 //建立性别的 enum 4 public enum Gender:String { 5 case male 6 case female 7 } 8 9 //建立 class Friends 10 public class Friends:NSObject { 11 12 private var _name : String 13 private var _age : Int 14 private var _gender : Gender 15 16 //初始化 17 init (name:String, age:Int, gender:Gender = Gender.female) { 18 _name = name 19 _age = age 20 _gender = gender 21 } 22 23 // name 的 get 和 set 方法 24 public var name:String { 25 get{ 26 return "(_name)" 27 } 28 set{ 29 _name = newValue 30 } 31 } 32 33 // age 的 get 和 set 方法 34 public var age:Int { 35 get{ 36 return _age 37 } 38 set{ 39 _age = newValue 40 } 41 } 42 43 // gender 的 get-only 方法 44 public var gender:Gender { 45 get{ 46 return _gender 47 } 48 } 49 50 //重写 description 51 override public var description:String { 52 get{ 53 return " 姓名: (name) , 年龄: (age)" 54 } 55 } 56 57 //建立 date 方法 58 public func date() { 59 print("女朋友(_name)同意和你约会.") 60 } 61 }
subclass-girlfriends.swift
1 import Foundation 2 //建立 Friends 的子类 GirlFriends 3 class GirlFriends:Friends { 4 init(name:String, age:Int) { 5 super.init(name:name, age:age, gender:Gender.female) 6 } 7 }