6 面向对象
现代编程语言都包含面向对象思想,不过在语法上各有不同。面向对象主要有三个特征:封装、继承和多态.我们分别从这三个方面来介绍各种语言的语法。
6.1 封装
封装就是把不同的内容组合到一起形成一个抽象的集合,这个抽象的集合叫作类。被组合的内容包含各种类型的变量和函数,其中变量叫类的成员变量或者属性(Property),方法(Function)叫作类的成员方法或者成员函数。虽然不同的语言有不同的叫法,但是它们在本质上是相同的。
封装完成后会去使用类去创建对象(或者叫实例英文是instance),属性和方法都会包含到对象中,对象的类型就是类,与基本的类型相比,类可以看作是自定义的一种类型.类是面向对象的基础,现代语言几乎都使用面向对象的思想去编写程序。接下来我们分别看看Swift,Kotlin和Dart在封装方面的具体内容。
Swift语言
定义类时使用class和struct关键字,区别在于class类创建的对象使用传引用的思想,struct类创建的对象使用传值的思想.通常情况下传值的效率比传引用低,不过Swift在底层做了优化,这点我们不用担心。Swift推荐使用struct来定义类,像Int等基本类型都是使用struct定义的。
类中的成员包含属性和方法,属性又可以分为:
- 存储属性
- 计算属性
存储属性就是用来存储数值的,这个和传统语言一样。计算属性可以通过set/get操作完成某种操作,使用时可以像存储属性一样通过点号去调用。
这篇博客介绍了面向对象编程中的封装特性,重点关注了Swift、Kotlin和Dart三种语言的实现。封装是将内容组合成抽象类,包括属性和方法。Swift使用class和struct,支持计算属性和构造函数;Kotlin不支持static方法,采用伴生对象模拟静态成员,构造函数有独特的定义和实现方式;Dart则提供静态方法和命名构造函数,并使用语法糖简化构造函数的实现。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



