对象角度看待一切语言特性
对象(数据)为主:命令式
控制为主:函数式
1.对象为主
一切语言特征用于:修改对象,组织对象,维护对象信息
对象:值模型,引用模型
对象信息:类型
对象的组织结构:1.划分:将整体划分为作用域——对象在更小的区间活动
2.打包:函数,类,模块——相关对象放一起
对象的名字
同一位置,不同名字,同一对象:别名
别名的出现:指针,引用传参
同一名字,不同位置,不同对象:去歧义(对于函数:重载——继续检查签名)
作用域中变量的同名导致的歧义问题:显式去歧义——声明,隐式指定优先级维护当前上下文信息——符号表
指定路径(定位前缀)——限定符
r:可见——get——作用域
w:可修改——set——导入
x:可执行——del——???
对象修改
提供值用于修改对象:表达式
非线性地修改对象:控制流
修改权限:存取器
对象打包
作用域:粗粒度打包处理对象的权限,生存期
权限的处理:隐式:语法(上下文无关?)
歧义的处理:隐式语言指定优先级+编译器推断+显式编程指出
对象的物理意义:内存分配方式:静态动态