面向对象
为什么使用面向对象
- 程序的执行是结构化的,顺序、判断、循环构成程序
- 面向对象让数据结构化
- 对于计算机,结构化才是最简单的,处理结构化的二进制数据流
- 进行抽象 && 简单
面向对象三要素:
-
继承 --- 子类继承父类
可将公共方法抽离出来,提高复用,减少冗余 -
封装 --- 数据的权限和保密(TS)
public: 完全开放
protected: 对子类开放
private: 对自己开放,仅类内部使用,外部访问编译会出错
可用于属性方法定义a. 减少耦合,不该外露的不外露
b. 利于数据、接口的权限管理
c. ES6目前不支持,一般认为_开头的属性是private -
多态 --- 同一接口不同实现(JS用的比较少)
同一个接口,不同表现
JS应用极少
需要结合Java等语言的接口、重写、重载等
a. 保持子类的开放性和灵活性
b. 面向接口编程
UML 类图
Unified Modeling Language统一建模语言,其包含很多种图,其中类图与面向对象关联较强
![](https://img.haomeiwen.com/i13119656/5a12e52dec121d8e.png)
类图之间的关系有
- 泛化,表示继承
- 关联,表示引用
设计原则
- 按照哪一种思路或标准来实现功能
- 功能相同,可以有不同设计方案来实现
- 伴随着需求增加,设计的作用才能体现
《UNIX / LINUX 设计哲学》
设计准则:
- 小即是美
- 让每个程序只做好一件事
- 快速建立原型
- 舍弃高效率而取可移植性
- 采用纯文本来存储数据
- 充分利用软件的杠杆效应(软件复用)
- 使用shell脚本来提高杠杆效应和可移植性
- 避免强制性的用户界面
- 让每个程序都成为过滤器
小准则 - 允许用户定制环境
- 尽量使操作系统内核小而轻量化
- 使用小写字母并尽量简写
- 沉默是金
- 各部分之和大于整体
- 寻求90%的解决方案
SOLID 五大设计原则
S: 单一职责原则
O: 开放封闭原则
L:李氏置换原则
I: 接口独立原则
D:依赖导致原则
网友评论