笔记_java编程思想_第一章(对象导论)

ps:以下内容直接搬运java编程思想


面向对象编程在解决问题的进步在哪?

首先,我们得知道,人们所能解决的问题的复杂度取决于抽象的类型与质量。 汇编是对底层的机器的抽象。命令式语言(如Fortran basic c等)是对与汇编的抽象。而这些语言都是基于计算机结构去解决问题,而不是基与问题本身。即程序员需要付出很高代价去调和俩者关系。

而OOP(Object Oriented Programming)是针对问题建模,可以根据问题描述问题。


访问控制存在的原因(public private protected 默认访问权限)

  • 让客户端程序猿无法触及它们不应该触及的地方。
  • 库设计者改变类内部的工作方式时,不会影响类使用者。

当导出类的对象当成泛化基类来看待时(上溯造型),是如何能够调用正确的方法?

动态绑定(多态)(补充:前期绑定是可让编译器产生的具体函数调用,运行时解析到执行代码的绝对地址的技术)


对象数据的创建

  • c++将对象置于堆栈或静态存储区域
  • java是在堆的内存池中动态地创建对象

对象的销毁

  • c++必须由程序猿通过编程来销毁
  • java 由垃圾回收器自动释放

发个动态壮壮胆,哈哈

你可能感兴趣的:(笔记_java编程思想_第一章(对象导论))