黑马程序员技术交流社区
标题:
大家对面向对象是怎么理解的?
[打印本页]
作者:
高双武
时间:
2011-11-9 10:31
标题:
大家对面向对象是怎么理解的?
刚看了比老师的视频,感觉面向对象就是对与该对象有关的方法封装到该对象中,大家都是怎么看面向对象与面向过程的?
作者:
张晨
时间:
2011-11-9 10:35
打个比方就像你要使用汽车(类),直接拿现成来开,只要你知道里面方向盘(方法),换档(方法),灯光(方法)怎么用就行,不用自己组装零件了(自己重新写),也不需要研究汽车是如何造的(内部算法)。
不同对象有不同用处,只要选对,编程就像搭积木{:soso_e100:}
作者:
贺洪京
时间:
2011-11-9 10:46
一开始我在学面向对象的时候也是老去死记面向对象的概念,当然,概念不得不背,但是,我们重要的是如何学习面向对象的程序设计思想,比如我们看到世间的所有东西都可以在电脑中用数据把实实在在的事物抽象的描述出来,比如,一句很简单的一句歌词“老张开车去东北”。从这句话中我们就能分析到三个对象,老张(我们也可以把他看做一个司机类的一个实例),车(汽车类的一个实例),东北(我们知道它没有具体的方法,只有一个属性就是地址)所以这句话一共有两个对象,即老张和车,还有一个东北我们可以用一个字符串来定义它。这样我们所对应的类也就形成了,即一个司机的类,和车的类。下边我们就要从这句话中来分析动作,即方法,第一是开车,这个方法属于人的行为,所以,我们把这个方法定义在司机这个类中,还有车不会自己就能动,所以车也要有一个方法,那就是车往前跑。所以车往前跑得这个方法就要归于车类的本身,这样这个面向对象的基本模型就已经出来了,下边我们编码就可以了。其实,面向对象很简单,也很有意思,我们在走路的时候看到周围的时候,不断的想用数据怎么把它抽象起来?这样我们进步会很快的,希望对你有帮助
作者:
贺洪京
时间:
2011-11-9 11:02
给我上边的那句话举个例子吧:
编码的形式就是这样的:
首先定义一个司机类:
class driver{
String name;//司机的name属性
int driverage//司机的驾龄
public void drive(Car car){
car.run();
}
}
下边是一个车的类:
class Car{
String color;//车的颜色属性;
String Carnumber;//车牌号属性;
public void run(){
System.out.println("车跑了起来");
}
}
}
我们首先要在启动运行类中,要new一个司机也就是老张:driver laozhang=new driver();
接下来就是老张要去开车了,既然是开车,我们就要传递一个车过去,没有车业开不了是吧?所以:laozhang.drive(new Car);
所以当老张开车以后,车就会调用自己的方法run往前跑了,最后到达目的地;
作者:
泼孩
时间:
2011-11-9 11:34
本帖最后由 泼孩 于 2011-11-9 11:41 编辑
对象的3个主要特征:
说明功能
施加方法时的映射
与其他相似对象的区分标志
说白了,对象我的理解就是一个具体化类的实例
作者:
张翼
时间:
2011-11-10 15:42
说到面向过程,简单来说就是这样八个字“自顶向下,逐步细化”,就是把一个框架给设计好,然后一个部分一个部分去完成,C就是典型的面向过程语言,但是C的指针其实也开始有了面向对象的思想,总之面向过程,强调的是过程,把事物的过程当作一种关键;
而面向对象,强调的是对象,对象是关键。举个简单例子,如果我们要到北京去,我现在在长春,我这个人到北京才是关键,所以人是对象,而到北京必须有一定的方法,这个方法,必须是所属,我这个人所能用的方法,所以,我的一切是个类,我个人是个对象,我的能耐构成方法,我个人作为对象驱动我使用方法,比如坐火车或者是飞机,当时用完这个方法后会产生一个结果或者产生一个返回值,至此一个面向对象的事件结束。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2