看了也不懂,求解
面向对象 是什么意思啊,说的最好好理解些,百度的看看也不太懂,迷迷糊糊的
[解决办法]
就是认为世间万物都是对象咯
[解决办法]
举个例子:
要打开一个冰箱,然后塞进去一头大象 要怎么做?
c的做法是:你打开冰箱,然后呢你再把大象塞进去;
面向对象的程序设计的方法是:
你把冰箱看成一个对象,然后是冰箱把自己的门打开;冰箱把大象请进来。
就是说这些事不需要 人 来做了,而由你选定的对象 (冰箱)做了。
[解决办法]
对象有数据成员和成员函数(方法)
数据成员表示 对象的状态;
方法表示对象的行为
[解决办法]
面向对象的由来是以前面向过程。
在很久很久以前,有一个公主。。。。。。呃,错了,有一群人。他们会写程序,把程序要做的事看作是由过程来操作的一些数据。于是只要定义好这些数据和对这些数据进行操作的过程,程序就写好了。
但随着需要写的程序越来越多,参与写程序的人越来越多,写出的程序越来越大。人们发现,他们写程序的速度已经跟不上大家需要程序的速度了,软件危机爆发了。
于是那些聪明的家伙就开始想办法,想要找到更好的写程序的办法。但是没有。然后他们就想找到更好的利用已经写好的程序的办法,这个他们找到了,就是面向对象的程序设计方法。
这个方法彻底颠覆了以往的程序设计概念,它不再把程序看作是需要被过程处理的数据,而是把世界看作是由一个个相互作用的对象——比如学生、班级——组成的有机结合体。
每个对象都有一些属性比如学生的名字、年龄、还有,很重要的:性别;班级的编号、学生数量、教室位置什么的。然后每个对象还有一些对外界刺激的反应——事件,比如学生要是饿了就要发生“想吃饭”事件,渴了就要发生想喝水事件;班级要是换地方了就会发生“搬家”事件等等。
嗯,有趣的并不是这些,而是人们发现对象是可以被归类的。同一类的对象他们都有相似的结构:比如学生都有名字、年龄和性别(当然没法确定的那种我们不管了),又比如说班级都有编号,也都得有教室。
于是他们在写程序时不再把这些数据和处理数据的过程分离开,而是结合到一起写成一种叫做“类”的代码,用这些代码来描述这些类型对象的特色:叫啥名字、多大了,饿了之后会咋样,被人骂会如何还嘴......
这样有什么好处?呵呵,好处就是已经写好的代码可以最大限度的被保留,新的修改会变得很容易很简单。比如我们中国的学生饿了会喊“我饿了,想吃饭”,唔,是用汉语的。这个拿来描述英国学生好像就不合适了,他们不会讲汉语啊?咋办,简单:程序员用学生类派生出“英国学生类”,然后在里面重新定义“饥饿”事件,让他们用英语喊这些话。
ok,完工了,吃饭去。多好玩!