Thinking in java(1):对象导论
纯粹的面向对象程序设计的几个特性:
1. 万物皆对象
2. 程序是对象的合集,他通过发消息告诉彼此要做什么
3. 每个对象都有自己的由其他对象所构成的存储
4. 每个对象都有其类型
5. 某一特定类型的所有对象都可以接收同一类型的消息
每个对象都有一个接口
每个对象都有自己的服务(这个是为了高内聚性)
具体类的实现被隐藏,调用方不需要知道被调用方的具体实现
复用具体类实现 代码复用是面向对象程序设计的最了不起的优点之一
使用现有的类合成新的类,这种概念称作组合。如果组合是动态发生的,这个称作聚合。 组合关系在UML图中是通过实心菱形来实现的,例如每个汽车都有一个引擎,则UML图中,引擎一个实心菱形指向汽车。
继承:
继承的UML图是子类一个空心的三角箭头指向基类
“是一个”与“像是一个”的关系:
最完美的继承就是子类不存在新增加的方法,而是覆盖父类的方法,实现新的功能。这是一种是一个的关系,但实际上这个情况比较完美。更多的情况下,子类肯定有新增的方法,这个就是 像是一个 的关系。
伴随多态的可互换方法:
基类中的方法操作都是泛化的,不关心具体子类,而是子类公用的。而多态的实现依赖于编译器的后期绑定的实现。具体调用的对象在方法调用时才确定。
子类转换成基类的过程称为向上转型,有向上转型的需要时才使用继承。
单根继承结构:
在java中所有类都继承自Object类
容器:
好的OOP语言都有容器,用来实现存储对象的集合。
参数化类型:
为了减少从集合中放入或者取出数据的各种转型。
对象的创建和生命周期:
java完全采用了动态内存分配的技术,当你想创建对象的时候就必须使用new关键字来构建对象的动态实例。
在栈上创建的对象,编译器可以知道他的生命周期并且动态的销毁他们,而在堆上创建的对象,就需要靠垃圾回收机制来实现了。
异常处理,处理错误:
自编程语言面世以来,错误处理时最困难的问题之一。异常处理不是面向对象的特征之一。
并发:
java的并发是内置于语言中的。
最新文章
- 升级Windows 10 正式版过程记录与经验
- Intent传递list<;bean>;集合
- 易语言5.6 精简破解版[Ctoo]
- Yii2事务
- 一个CMS案例实战讲解PHP代码审计入门
- 8.mybatis动态SQL模糊查询 (多参数查询,使用parameterType)
- ODI 12.1.3创建standalone代理
- Python实现ORM
- ORACLE 重置SEQQUENCE
- ASP.NET网站中设置404自定义错误页面
- 获取集合、数组后要判断为空的必要性以及根据构造器创建对象后不是null的证实
- IE去掉input的type=”text”输入内容时出现的X和type=”password”出现的眼睛图标
- 大文件拆分问题的java实践(附源码)
- Redis事务原理分析
- 洛谷 [P1024]一元三次方程求解
- MYSQL数据库学习七 视图的操作
- shell丢弃信息
- Node.js学习起步
- Nginx入门安装升级
- win8以上windows系统eclipse环境下图片显示乱码问题解决