面向对象相比于面向过程:
面向对象的代码延展性更好:
拿上面的例子举例如果现在要把存储的对象不是大象了而是狮子,那么很明显:
面向过程要的方法要所有大象为狮子,面向对象的方法只要改一下关于这个改动的方法也就是“存储”内容。
不仅仅是修改,添加删除等一系列了改动操作也是如此面向过程进行这一系列操作时都会要判断是否于前面的方法有影响。改起来就很麻烦,面向对象只要改对应的的负责人(对象)内容即可。
总结:面向对象三大特性:封装,继承,多态给 面向对象带来的好处(方便改变代码,再利用代码,维护代码)易维护,易复用,易拓展
相比面向对象面向过程的性能消耗,资源占比比较低:
因为面向对象都要创建类来实现这样就会导致资源占比比较高所以在性能为刚需时大多就以面向过程编程为主了比如:linux,嵌入式开发。
其实面向过程编程在运行时也会被系统分配内存,计算机偏移量等等,但是java性能差主要是因为它是半编译语言最终执行的代码不是被cpu直接执行二进制机械码
编译型语言:程序在执行之前需要一个专门的编译过程,把程序编译成 为机器语言的文件,运行时不需要重新翻译,
直接使用编译的结果就行了。
解释型语言:程序不需要编译,程序在运行时才翻译成机器语言,每执 行一次都要翻译一次。
而java是这样的:先将源代码编译成可执行文件然后在Jvm(java虚拟机)中解释运行
上图:
1编译型语言:
2解释型语言:
3java
java初学者如有不对,请大家指正。