Java
语言特点
面向对象
记录与 2021 年 5 月 2 日 20:53:53,发现对面向对象确实一无所知,而且实话说我觉得这两年的开发设计上,远远背离了面向对象的初衷,学习设计模式也变成了为了 OO 而 OO 的一个过程,写起来繁琐且很多时候并没有起到优化代码的效果
- 常见的特点
- 封装 隐藏方法的具体运行步骤,取而代之的是通过消息传递机制发送消息
- 继承 为了更好表达 is-a 的一种业务含义,以达到代码重用和可拓展性的特性
- 多态 多态是继承的一种实现形式,其对象对同一消息会做出不同的响应,比如说正方形和长方形都属于矩形,计算面积的公司函数都是= $$ 面积=长宽 $$ ,而正方形可以直接边长边长
但其实这三个并不能说是面向对象的核心想法
- 设计理念
- 动态配置与消息传递机制
动态配置指方法随着实例动态的改变。而消息传递机制(Message Passing)指对象通过接收消息、处理消息、传出消息或者其他类的方法实现一定的功能。比如狗通过吠叫引起人的注意,从而引发一系列的事情发生
- 将系统拆分为不同对象,和对象之间的消息传递
- 动态配置与消息传递机制
by invalid s知乎
名称 | 作用 |
---|---|
封装 | 明确允许外部使用的所以成员函数和数据项,也可以叫接口。这样子的话类实现者只需要改封装内的东西,又不影响外部调用者 |
继承+多态 | 继承:1️⃣继承基类的方法,做自己的改变或拓展,解决代码复用问题 2️⃣声明某个子类兼容于某基类,外部调用者不关心(内部机制会自动转发请求到逻辑内) |
继承+多态 | 多态:基于所属类不同,外部对同一方法调用,执行逻辑不同 |