版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
@M了个 实力ITn值类型(枚举、结构体)nn子类可以重写父类的下标、方法、属性,重写必须加上overrideletleta=Animal()a.age=10//32print(Mems.size(ofRef:a))print(Mems.memStr(ofRef:a))classAnimal{varclassAnimal{varage=0}classDog:Animalvarweight=}classErHa:Dog{variq=0}{lete=ErHa()e.age=10e.weight=e.iq=//48print(Mems.size(ofRef:e))print(Mems.memStr(ofRef:letd=Dog()d.age=10d.weight=//32print(Mems.size(ofRef:d))print(Mems.memStr(ofRef:d))classAnimal{funcclassAnimal{funcspeak(){print("Animal}subscript(index:Int)->Int{returnindex}}classCat:Animal{overridefuncspeak(){print("Catspeak")}overridesubscript(index:Int)->Int{returnsuper[index]+1}}varanim:Animalanim=Animal()//Animalspeak//6anim=//Animal//Catspeak//7n被class修饰的类型方法、下标,允许n被static修饰的类型方法、下标,不允许classclassAnimalclassfuncspeak(){print("Animalspeak")}classsubscript(index:Int)->Int{returnindex}}//Animalspeak//6classCat:Animaloverrideclassfuncspeak(){print("Cat}overrideclasssubscript(index:Int)->Int{returnsuper[index]+1}}//Animal//Catspeak//7n子类可以将父类的属性(、计算)重写为n子类不可以将父类属性重写为属性n只能重写var属性,不能重写let属性n重写时,属性名、类型要一致nppclassclassCirclevarradius:Int=0vardiameter:Intsetprint("CirclesetDiameter")radius=newValue/2}getprint("CirclegetDiameter")returnradius*2}}}varcircle:Circlecircle=Circle()circle.radius=6//Circle//12//CirclesetDiametercircle.diameter=20//10classSubCircleclassSubCircle:Circle{overridevarradius:Int{setprint("SubCirclesuper.radius=newValue>0?newValue:}getprint("SubCirclegetRadius")returnsuper.radius}}overridevardiameter:Int{set{print("SubCirclesetDiameter")super.diameter=newValue>0?newValue:0}getprint("SubCirclegetDiameter")returnsuper.diameter}}}circle=//SubCirclesetRadiuscircle.radius=6//SubCircle//Circle//SubCircle//12//SubCircle//Circle//SubCirclesetRadiuscircle.diameter=20//SubCircle//10n被class修饰的计算类型属性,可以n被static修饰的类型属性 、计算),不可以被子类重Circle.radius=Circle.radius=//Circle//12//CirclesetDiameterCircle.diameter=20//10classSubCircle:Circleoverridestaticvardiameter:Int{set{print("SubCirclesetDiameter")super.diameter=newValue>0?newValue:0}getprint("SubCirclegetDiameter")returnsuper.diameter}}}staticvarradius:Int=0classvardiameter:Int{setprint("CirclesetDiameter")radius=newValue/2}getSubCircle.radius=//SubCircleSubCircle.radius=//SubCircle//Circle//12//SubCircle//CirclesetDiameterSubCircle.diameter=20//10}}}n可以在子类中为父类属性(除了只读计算属性、let属性)classclassCirclevarradius:Int=}classSubCircle:Circle{overridevarradius:Int{willSetprint("SubCirclewillSetRadius",}didSetprint("SubCircledidSetRadius",oldValue,}}}varcircle=//SubCirclewillSetRadius//SubCircledidSetRadius1circle.radius=varcircle=varcircle=//SubCirclewillSetRadius//CirclewillSetRadius//CircledidSetRadius1//SubCircledidSetRadius1circle.radius=varradius:Int=1{willSet{print("CirclewillSetRadius",}didSetprint("CircledidSetRadius",oldValue,}}}classSubCircle:Circle{overridevarradius:Int{willSetprint("SubCirclewillSetRadius",}didSetprint("SubCircledidSetRadius",oldValue,}}}varcircle=varcircle=//Circle//SubCirclewillSetRadius//CirclesetRadius//Circle//SubCircledidSetRadius20circle.radius=varradius:Int{set{print("CirclesetRadius",}getprint("CirclegetRadius")return20}}}classSubCircle:Circle{overridevarradius:Int{willSetprint("SubCirclewillSetRadius",}didSetprint("SubCircledidSetRadius",oldValue,}}}//Circle////Circle//SubCirclewillSetRadius//CirclesetRadius//Circle//SubCircledidSetRadius20SubCircle.radius=classvarradius:Int{set{print("CirclesetRadius",}getprint("CirclegetRadius")retur
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年落地方案环境安全培训内容文档
- 2026年工厂仪器安全培训内容详细教程
- 违章安全培训内容2026年落地方案
- 2026年办公系统服务合同
- 拉萨市城关区2025-2026学年第二学期四年级语文第五单元测试卷(部编版含答案)
- 2026年设备监理安全培训内容核心要点
- 周口市扶沟县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 晋中市榆社县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 南阳市宛城区2025-2026学年第二学期五年级语文第六单元测试卷(部编版含答案)
- 伊犁哈萨克自治州奎屯市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 茶馆与棋牌室消防安全审核与应急预案
- 前列腺癌治疗现状
- 24年10月自考13003数据结构与算法试题及答案
- 班组长晋升述职报告
- 3.1细胞膜的结构和功能+课件高一上学期生物人教版必修1
- 《人工智能技术基础》课件 第5章 注意力机制
- 保安公司组织架构岗位制度及保安管理制度
- YDT 5206-2023宽带光纤接入工程技术规范
- 家庭教育微课主题(3篇模板)
- 展示车协议合同
- 2024年四川省成都市高新区中考数学二诊试卷
评论
0/150
提交评论