#java为什么不叫做面向类而叫面向对象呢,对象不都需要类作模板嘛#创建面相对象的目的

面向对象中,为何创建对象为何要定义它的类型呢?比如我创建一个学生
因为类型了对象执行那些操作、具有哪些属性,类型可以防止你在对象上执行不恰当的操访问不存在的属性 。
在多数面向对象语言里,定义对象之前必须首先定义它所属的类,这样编译器就在编译时就可以上面所说的情况,但是不是所有的面向对象语言都提供了类型机制,在这种没有提供类型机制的语言中在某个对象上执行了不恰当的操作时,程序只有在运行的时候才能捕捉到这个错误 。
面向对象编程相对于面向过程编程有什么优点?二者有什么区别?
是我本人的理解,比较浅薄 。。
举个例子,盖一座大楼,你想到楼怎么盖,哪里要有,哪里要有梁,哪里楼梯等等(这就是面向对象),至于柱子该怎么建,用什么建,方的圆的,等等,这些都不去考虑 。。这就是面向过程 。。而你逐个去造柱子,造梁,造砖头,最后将他们组合 。。这是面向过程 。。我们盖房子的时候应该是到相应的建材店把每个材料买了然后去盖,而不是在家认真地磨砖头 。。那样等你盖完房子你就没时间享受了 。(嘿嘿 。。)这就是为什么面向对象的思想的开发效率大大超过面向过程思想 。。
用面向对象思考问题更符合我们人的思考方式 。
其实我们人现实生活中都是在面向对象 。比如:去饭店吃饭只要说明吃什么就可以了,有必要还了解这个菜是怎么做的,是哪里来的,怎么去种这个菜吗 。。
这样使得面向对象比面向思想简单,更容易为人接受 。。
面向对象也可以说是从宏观方面思考问题,而面向过程可以说是从细节处思考问题 。在面向对象中,也存在面向过程 。。在学习中,俩都是得学的 。。
面向过程与面向对象各自的优缺点是什么?
不太同意观点 。一定程度者的试用地方不同
对面向来说几个的:
优:
(1)是一种全新的分析设计方法(对象、类、结构属性、方法)
(2)适用于各类信息系统的开发 。
(3)实现了对客观世界描述到软件结构的直接转换 ,大大减少后续软件开发量 。
(4)开发工作的重用性、继承性高,降低重复工作量 。
(5)缩短了开发周期 。
(这几点是网上复制的)
缺点也很明显 。
类和继承等特点使得程序会多很多指针操作来定位函数入口和自身要维护虚拟方法表等额外的工作,程序的处理效率相对要低(换来的是开发效率高) 。所以现在单纯的C语言还是大为用武之地的 。如驱动程序开发,或与硬件联系很紧密的东西,单片机等 。基本不会用高等的面向对象语言 。
但随着科技的进步,CPU和内存的性能也突发猛进 。由原来的1核到8核,内存16M和现在的16G,所以程序的效率多多少少会随着硬件的性能变得更好 。你可以发现很多大的项目也开始由C转而变成让c和JAVA等面向对象来写了 。
当然核心和底层的东西基本都不会用面向对象语言来写的 。

java为什么不叫做面向类而叫面向对象呢,对象不都需要类作模板嘛
//给你一个的解释,类,顾义就类,一群,是一个广泛的词,对象理具体的东西,人你跟谁谈恋爱,你说我跟人类谈恋爱,显然说法不合情理,你会说我跟某某人谈恋爱,某某人就是一个具体的对象,回到正题,你编程的时候如果想使用一个具体的对象,那么你必须要让这个对象划分在某一个类的下面,当知道你使用的对象是某一类的时候程序才知道你使用的对象是什么样的,但为什么是面向对象而不是面向类呢?类一个抽象的,对象是具体的,你在编程时是对具体的对象进行操作,就如你谈恋爱是跟具体的一个人,而不是人类 。你面对的是具体的对象,这样别人才知道你跟谁谈恋爱,程序才知道你在程序中用的某一个对象