swift-汇编分析多态原理、init

一、结构体和类的本质区别

结构体 编译完就知道调用谁

类 (类似c++ 的虚函数表) 12

直接将对象将来要调用的函数内存地址提前放进类型信息里面,这些类型信息编译完就确定你将来要调用谁,运行过程过程中就去那块内存里面找

方法的存储

二、初始化器 指定初始化器纵向调用 捷初始化器横向调用

2.1 便捷初始化器 必须要调用指定初始化器

初始化器

每一个初始化器保证我每个成员都是要有值的

类偏向于少量指定初始化器,一个类通常只有一个指定初始化器

指定初始化器必须从它的直系父类调用指定初始化器

便捷初始化器最终必须调用一个指定初始化器

便捷初始化器可以调用自己的宁一个便捷初始化器

二、初始化器的相互调用

三、两段式初始化 1.25

先从下往上(保证所有的成员都有值)在从上往下(设置个性话的值)

四、安全检查

五、重写 1.56

当重写父类的指定初始化器时,必须加上override(即使子类的实现是便捷初始化器)

如果子类写了一个匹配父类便捷初始化器的初始化器,不用加上override

因为父类的便捷初始化器永远不会通过子类直接调用,因此,严格来说,子类无法重写父类的便捷初始化器

六、自动继承

如果子类没有自定义任何指定初始化器,它会自动继承父类所有的指定初始化器

如果子类提供了父类所有指定初始化器的实现(要么通过方式①继承,要么重写)

子类自动继承所有的父类便捷初始化器

就算子类添加了更多的便捷初始化器,这些规则仍然适用

相关推荐
2601_962296511 天前
C/C++:编译全过程——预处理、编译、汇编、链接(包含预处理指令:宏定义,文件包括、条件编译)
汇编·预处理·链接·c/c++·编译过程
Freak嵌入式2 天前
Pico PIO 汇编语法深度详解:标识符、指令、伪指令全解析
汇编·stm32·单片机·嵌入式硬件·fpga开发·硬件架构
kyle~7 天前
x86 汇编LOCK前缀 --- 硬件架构向软件提供的核心同步原语
汇编·c++·性能优化·硬件架构·实时系统
典典分享指南8 天前
飞书 + 企业微信 + 微信文档多端协同实践指南
汇编·flask·intellij-idea·fastapi
极客互动API13 天前
企业微信 iPad 协议服务搭建与 AI 回调实战
网络·汇编·人工智能·微信·企业微信·ipad
wechatbot88818 天前
极客互动企业微信 SCRM 私域运营实战效果全景
大数据·汇编·微信·自动化·企业微信·rpa
祈禾23 天前
计算机组成原理之编译、汇编、链接、解释
开发语言·汇编·笔记·学习
水饺编程25 天前
AT&T 汇编语言学习笔记开篇语
c语言·汇编·c++
iCxhust25 天前
8088单板机VScode集成开发环境使用方法二(汇编版)
汇编·单片机·微机原理·8088单板机
·薯条大王25 天前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python