黑马程序员技术交流社区

标题: 关于面向对象和类有点混淆 [打印本页]

作者: 爱旅行de小蜗牛    时间: 2015-11-24 19:12
标题: 关于面向对象和类有点混淆
创建面向对象是 方法名  对象名 = new 方法名  那么可以不可这样理解  对象就是所谓的类呢,来个大神解释下

作者: wqd123    时间: 2015-11-24 21:32
创建的对象也是类啊
作者: zypt0218    时间: 2015-11-24 23:53
怎么感觉不太对,又说不出是哪里错, 看来我要好好复习一下
作者: 劲爆对策    时间: 2015-11-25 00:14
楼主问题说清楚点。面向对象是一个形容词,是所有面向对象编程语言的特性。类是一个概念,是具有共同性质的对象的抽象提取。也可以说类是对象的模板。
作者: 劲爆对策    时间: 2015-11-25 00:18
一个对象是其所属类的具体实例。
你比如: Car  aCar = new  Car(); 一个car类。
这条语句可以拆分成两部分:
Car aCar和 new Car()

作者: 劲爆对策    时间: 2015-11-25 00:19
第二部分是创建Car的对象,第一部分是创建引用,也就是对象的实例化。
作者: gracefulwind    时间: 2015-11-25 00:25
对象是类的实例。类只是一种规范。比如人。
而对象是类的一个实现个体。比如我和你。
作者: 李永佳    时间: 2015-11-25 11:32
本帖最后由 李永佳 于 2015-11-25 11:33 编辑

类是一个很抽象的东西,囊括了某个事物的所有共同特征;通过 new 可以制造出一个对象,跟女娲造人似的,一个一个捏出来,但是在捏小人的过程中每个小人的具体特性又变了,捏一个男的,再捏一个女的,捏一个黄种人,再捏一个黑人。像生活中说话,说人类,这是一个类,说张三/李四/王五,这是三个对象。
为什么说实例化对象呢,因为对象是类的具体表现形式,这是一个实体。

作者: hansnowqiang    时间: 2015-11-25 22:14
本帖最后由 hansnowqiang 于 2015-11-25 22:20 编辑

我是这样理解的:
类:可以理解为一种具有抽象定义的”一种“事物
子类:具有父类的特性,又同时具有自己特性的”一种“事物
对象:是具有这个类的所有特点的”一个“特定的事物
比如:类:猫   :特点:猫的样子,会抓老鼠,会腻人,  这是一种!
        子类:波斯猫  特点:猫的样子,会抓老鼠,会腻人,双眼异色   这是一种!
         对象:你家楼下那只波斯猫  特点:猫的样子,会抓老鼠,会腻人,双眼异色  这是一只!
从格式上大概也能明白: 类名 对象名 = new 类名();
=左边:以类为蓝本建立了一个对象,这个对象具有这个蓝本的所有特性。
=右边:new 在堆中开辟内存空间 以这个类为蓝本。感觉上是一个渐渐丰满的过程:
你可以想象一下: 想到猫,你的头脑中有一个猫的大概的样子,
                             想到波斯猫,你头脑中猫的样子做了小幅修改,但是基本特性没有改变。
                             想到你家楼下那只波斯猫,你头脑中猫的形象就具体化了。

作者: xiaoziyk    时间: 2015-11-25 23:17
new 对象呢,你可以理解为一个房子(static静态的),然后你搬不走它,但是你还想使用它,那么这时候就需要打造一把钥匙,有了钥匙,你就可以住进房子(调用方法)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2