JAVA编程思想凡二十二章,目标1月看完。
- 抽象过程 : OOP根据问题来描述问题,使用UML工具
- 每个对象都提供服务——内聚性
- private隐藏实现/访问控制 ——低耦合
- UML:每个类用一个方框,类名在顶部,成员在中间,方法在底部
- 对象都提供接口:Light类方法有on() off()等接口
- has-a :汽车有引擎 ; 组合的关系用菱形表示
- is-a : 继承用三角形表示;继承会发生新增方法或者覆盖
- is-like-a : 子类有父类的接口但还包含其它方法
- 多态/动态绑定/延迟绑定: c++ 用virtual 表示 ,java默认实现不用指明?
- upcasting: 把子类看作基类
- 容器: c++ stl , 从效率上分析ArrayLit 和LinkList?
- 向下转型/泛型: ArrayList<Shape> shapes = new ArrayList<Shape>();
- 对象存放何处?
- 栈:自动变量/静态存储区,汇编指令决定效率
- 堆/内存池:动态管理运行那一刻才决定创建,由存储设计决定效率
- new : java完全采用了动态内存分配
?
- 对于栈上创建的对象,编译器可以确定生存时间
- 堆上创建的对象,编译器无法得知;c++ 由程序员决定, java有垃圾回收器
14.?
异常是一种对象,虽然异常不是OOP特征
异常不能被忽略,要恢复程序运行
?
15. 并发编程:同一时刻处理多个任务的思想;
问题切分为多个可独立运行的部分,彼此独立运行的部分为线程。
共享资源
?
16. java->web
客户端编程
服务端编程
?
过程型语言:页面计算机,数据定义和函数调用
?