《IOS高级应用开发技术》实验报告二详细答案.doc

上传人:scccc 文档编号:13626878 上传时间:2022-01-20 格式:DOC 页数:21 大小:200.50KB
返回 下载 相关 举报
《IOS高级应用开发技术》实验报告二详细答案.doc_第1页
第1页 / 共21页
《IOS高级应用开发技术》实验报告二详细答案.doc_第2页
第2页 / 共21页
《IOS高级应用开发技术》实验报告二详细答案.doc_第3页
第3页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《IOS高级应用开发技术》实验报告二详细答案.doc》由会员分享,可在线阅读,更多相关《《IOS高级应用开发技术》实验报告二详细答案.doc(21页珍藏版)》请在三一文库上搜索。

1、实验编号:2 四川师大OS应用开发技术实验报告_2017年9月2L日计算机科学学院 2015级_班实验名称:Swift类和子类姓名 学号:指导老师:_实验成绩:实验二_ Swift类和子类实验目的及要求用Swift语言编写类和子类,掌握类和子类的定义及使用实验内容 实现Person类:a) 要求具有 firstName, lastName , age, gender 等存储属性,fullName 计算属性;其中gen der是枚举类型 (male, female);b) 具有指定构造函数和便利构造函数 ;c) 两个Person实例对象可以用=和!=进行比较;d) Person实例可以直接用 p

2、rint输出;e) Person增加run方法(方法里面直接 print输出Person XXX is running;(2) 从Person分别派生 Teacher类和Student类:a) Teacher类增加属性title,实例可以直接用 print输出;b) Student类增加属性stuNo,实例可以直接用 print输出;c) Teacher和Student重载run方法(方法里面直接 print输出Teacher XXX isrunning 禾口 Student XXX is running)(3) 分别构造多个 Person、Teacher和Student对象,并将这些对象存入

3、同一个数组中;(4)新建一个协议 SchoolProtocol ,协议包括一个 department属性(Enum ,自己实现enum的定义)和 lendBook方法(随便写点内容,能区隔即可);(5)修改Teacher和Student ,让这两个类实现该协议(6)对数组执行以下要求a)分别统计 Person、Teacher和Student对象的个数并放入一字典中,统计完后输出字典内容;b)对数组按以下要求排序并输出:age、fullName、gender+age ;c)对数组进行穷举,调用每个对象的run方法,同时调用满足协议SchoolProtocol 对象的 lendBook 方法;3、

4、主要仪器设备及药品:iMac ( Mac OS、XCode)三.实验结果的分析与评价(该部分如不够填写,请另加附页)(1)找出从1-10000的所有质数,将找出的质数存入可变数组,对数组进行正反排序并输出结果(采用5种以上的方法实现);代码:func searchPrimNum() - In tvar cha ngeArray = 2,3/定义可变数组var recordIsPrim = 0/用于记录判断质数for x in 4.10000 for y in 2. Bool return mnprimNum.sort(by: compare)print(第一种数组降序排列为:)prin t(p

5、rimNum)/第二种 /primNum.sort(by: (m:l nt,n :l nt) - Bool inreturn mn)print(第二种数组降序排列为:)prin t(primNum)/ 第三种 /primNum.sort(m,n) -Bool inreturn mnprint(第三种数组降序排列为:)prin t(primNum)/ 第四种 /primNum.sort (m,n) inreturn mnprint(第四种数组降序排列为:)prin t(primNum)/ 第五种 /primNum.sort(by:)print(第五种数组降序排列为:)prin t(primNum

6、)/ 第六种 /primNum.sort$0$1print(第六种数组降序排列为:)prin t(primNum)运行结果:【花丸人1U IK 1%47f iei, is.他,imf 11$,1B61,1171ra169171JJ777 9 2 1 1 J 6 B- B 2 4 5 6 7 8 9 0 1 1 1 1 171 1 277F1 31112枷3263 7 7 9 195 5 T B I z5 6 7 B 0 11 1 1 1 2 z9 7 7 751 90 27 83 9 13 了4e暂 2i4i53 *1 3919 3 0 17 5sgex 5&z_?9 1-1112IrJl-3

7、 9 7& 7 99 * H4 15 7 8-16 7 8 ft 11 1 1 1 ? 27 9 933 - 1130179777777 z 5 B 0 z 3 J 4 i - & 7 i 1 1 *1 1 1A1 1 1 9 9 J 9- cu 7 7 6 B X 2i 4 5 6 7 -9 0* 7 .3 7 3 9 3 借 157 零 13 52 1_467&1 7 14 -*1797397 ,#、7i035-9 3d-24&-78_7 3 9 1 .1 3 7 4 s 6 7 0 0 . 111111121耶琲5晦质24 3 2- ) & 7 1 # 7 r_9339_?5 7 3 .

8、5 4 Q- 112 3 4 5 73 9I 1193, M7, 42】* 547, 659f 797, 929, 1O39, 1151# 1259, 1373, 14B3,1583t1S1I, 1933, MS片197, 311, 431.557, Ml, 8e9j 时升1049 r 1153, 1277, 1531 14B7, 1597, 1696, 1MJ. lWt 2M3P叽433,56J,675,811t 94U2tl 31714 59, 568,677,S2Lr 947,22儿 331, 443 571, 634 B23, 953.1053 r 11的* 1279, 1399, 1

9、4B9t 16B1, 17OTtU31*19512069,14C9.149311M7j 1721.1847 r 197人 29B17皿 44気S27d轴儿1063, llBlf 12匝W2J.1499-Jg 1661.1979,281,3-73791S2 5 7 w- 16 7 81 1111 1 29 117 A 4681 5&7 1902 f A V _1 J 1 7 3-o- 00 j 制酉rBIlg 9 1 1 1 叢JJ - 1 17 3 7d 9 14 7 1 4 6 7 Bd 89,lSlr 191,293MMl653787919449,Wt 6471 77” 91111129,

10、 1249, 1367ri4tifJ573t 丄 69$. 1061 19311 M璃 2143.K-Miamr徘列为*9973, 997r 9949, 9M1, 9931. 9929, 9923, 9W7 , 9901, 987r 9BS3t 9871, 9B59t 9857, 弼51.97 M,的检9357,91W,M49r8929, B7舸,8677,酣旳#37, B241.48 39 j w *Wi7, 9437, 9323, 9187,M43f8923,8779,H664,8517,B 377,9B33,45519319,9181,9041,8B93.7i, 866318527 3和

11、9829 j.9697,954 7 f9431,93U,9173,9629, 8887 ,8753.8647, 旳】*9mt 9689t 95対* 9421, 4293f 9161, 9ei 86齐 87亿851J,8553,Ml* 9679, 953i# 9419, 勺叫 9157, 9011, 8863t S741, 8629, 8501, 8329,T7( 叫打 941丸9281,9151, W07J 8A61B737,4467. &317,979 b9511,Wfl3, 9277,9U7#9M1,8B49t 8731, 函矢9787,. 964也 949 7, 939?, 9257,

12、9133, 8999? 88阳* 叭化 8609, H44打 8297,97811 9643, 94911 9391, 9?41, 9127, B971, 8B37* ma, 359,S293r97旳 9631”94J9,9377 f9239,9109,8969. 88318707IS97484H( 8241,9767, W29, 9475, 3371, S2I7, 9103, 辟&齐 B821 Z699t 5lf8429, 42B7r974 9W3, 也6 丁* 9349.9221, 9991 8951 j 88191869九8573,8423, 6273 r E J jl 9463*7 J

13、* J p* 8941; 眈匚01“ t OtO J r97199613,5461,9341,920 b95比S933t8893.8681,H5B9, 8丸(2)代码:/性别枚举enum Gen der:l ntcase malecase femalestatic func (lhs: Gen der,rhs: Gen der) - Bool return lhs.rawValue Bool return lhs.full name = rhs.full name static func !=(lhs:Person,rhs:Person) - Bool retur n !(lhs = rhs)

14、 func run()prin t(Pers on (self.full name) is runnin g)/使其直接用print输出var descripti on: Stri ngreturn 全名:(fullname) 年龄:(age) 性别:(gender)/老师类 class Teacher:Pers on ,SchoolProtocolvar title: Stringvar departme nt:Departme ntin it(title:Stri ng,fisrtName:Stri ng,lastName:Stri ng,age:I nt,ge nder:Ge nder)

15、self.departme nt = Departme nt.teacher self.title = title super.i nit(fisrtName:fisrtName,lastName:lastName,age:age,ge nder:ge nder)convenience init(fisrtName:String,lastName:String) self.i nit(title:hello,every on e,fisrtName:fisrtName,lastName:lastName,age:18,ge nder:.male)override var description

16、:String return ” 标题:(title) (super.description)override func run()prin t(Teacher (self.full name) is running )func len dbook()print(Teacher (self.fullname) lend one book from library)/学生类class Stude nt:Pers on, SchoolProtocolvar stuNo: Intvar departme nt: Departme ntin it(stuNo:I nt,fisrtName:Stri n

17、g,lastName:Stri ng,age:l nt,ge nder:Ge nder)self.stuNo = stuNoself.departme nt = Departme nt.stude ntsuper.i nit(fisrtName:fisrtName,lastName:lastName,age:age,ge nder:ge nder)convenience init(fisrtName:String,lastName:String)self.i ni t(stuNo:100110,fisrtName:fisrtName,lastName:lastName,age:18,ge nd

18、er:Ge nder.female)override var description:String return (super.description) 学号:(stuNo)/重写override func run()prin t(Stude nt (self.full name) is running )func len dbook()print(Student (self.fullname) borrow one book from library) var t = Teacher(fisrtName: 希,lastName:有)var s = Student(fisrtName: 珍,l

19、astName:琪琪)prin t(t)t.run()t.le ndbook()print(”)prin t(s)s.run()s.len dbook()var pl = Person(fisrtName:贾,lastName:丽,age:19,gender:Gender.female)var p2 = Person(fisrtName:李,lastName: 好,age:21,gender:Gender.male)/ var p2 = Pers on( fisrtName:wa)print()/ prin t(p2)/ prin t(p1)/ p2.ru n()/ p1.ru n()/ pr

20、in t(p1 != p2)/ prin t(p1 = p2) var recordArray = Perso n()/ 构造多个 Person、Teacher 和 Student 对象for i in 1.2 let temporaryArrayPers on,age:i+30,ge nder:Ge nder.male)Perso n(fisrtName:(i),lastName:recordArray.appe nd(temporaryArrayPers on)/分别统计 Person、Teacher和Student对象的个数并放入一字典中 for i in 1.3 let tempora

21、ryArrayTeacher = Teacher(title:你好,fisrtName:(i),lastName: ,age:i+18,ge nder:.male)recordArray.appe nd(temporaryArrayTeacher) for i in 1.4 let temporaryArrayStude nt = Stude nt(stuNo:10000+i,fisrtName:(i),lastName: ,age:i+12,ge nder:.female)recordArray.appe nd(temporaryArrayStude nt)var dictio nary =

22、 Perso n:O,Teacher:O,Stude nt:O /prin t(dict ion ary)/ prin t(recordArray)for traverseArray in recordArrayif traverseArray is Stude nt dictio naryStude nt! += 1else if traverseArray is Teacher dict ion aryTeacher! += 1elsedictio naryPerso n! += 1/输出字典内容print(输出字典内容:)for(key,value) in dict ion arypri

23、n t(key) : (value)个)/按照age排序:print(age) recordArray.sort(by:return $0.age $1.age) for traverseArray in recordArray prin t(traverseArray)print(”fullName”)recordArray.sort(by:return $0.fullname $1.gender) & ($0.age $1.age)for traverseArray in recordArray prin t(traverseArray)运行结果:标题汁亡工九口严“ur廿口rw 坐各二希有

24、 年岭:IS 性别二曰1亡 Teoctier 蒂自 is runningTeacher 帝自 lend one Eok from library全名=孩琪現 年龄二18 性另壯ferule 字号:10110Student:玲琪頊云壬 r-unning;StuderrtiMUrrow ewie tHXK -from libraryV个4 B2二 rru.tL JALI/UAlnr:L.-p/ulAlJ全主全全忻畅标全全囂II稟经養翠 .年申年年全全全年年U1全 nssslw 3:4你饰饰1 7 处 mz : r- ar .1 : r_ 皀4 S6团团团丄7 儿rfJllajsaBF hr -rc

25、 FhF E F btr 疇薦a疇呻 环睡轴;却各 1TT工标全全杯工全屮I别; 性制I: 性別= 性別: 年龄: 牟龄: 年龄; 性別: 性.別:性腑 性別: 卑龄:性别: H别: 年龄: 性別: 14SIJ:1 2 3 w:lx 益眾lc強:-a a d 号耳号寻棚m 辜宇畫船 let:氐 虽豹竺19 Sl s male 字号:leeai HiiB le-丁。注另驰vinl e *ciMle 学号:M002 nale21,注另l|: dlu f etthBle 宇啤:1QA03 fmalr 学号:寸4示懸討烟好 标题二你好 全容:琏 标题;fj.?T 全左:1排 主M科E 亠r - -i-4dhEcndcr+ac -全各 _:全呂二:年龄= 全名::年辭上:Aj- -丄团牟龄:31性別=却-flSiJ: 团牟龄:13 4|J:M WWIil斗Oil _19 llS1: male W 123 ftgij: male ma Iff-21 K.0IJ:-f emale 号:leeai ezi亡手号:注:实验成绩等级分为(90 100分)优,(80 89分)良,(70-79分)中,(60 69分)及格,(59分)不及格。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1