浅谈面相对象思想

     对于程序员来说,一提到面相对象思想必然会想到面相过程的思想,面相过程很好理解,因为生活中无时无刻都有着过程,比如把如何把一头大象装进冰箱,你只用打开冰箱门,把大象装进去,然后关上冰箱门,这个脑经急转弯就体现了面相过程的思想。
    初学面相对象思想的朋友,或多或少都会犯一个错误,用Java,Objective-c等一些适用于写面相对象的语言,写了一段面相过程的程序。其实这是很平常的错误,初学者都会犯。首先我们必须明白一点,编程语言只是一种让设备执行你所要的效果的一种工具,人们都说Java,Objective-c是面相对象语言,这种说法的本质是,这些编程语言利于写出面相对象的程序,C语言是面相过程的,也只是它适合去实现面相过程的程序,并没有绝对的说,我用Java写出来的就是面相对象的,或者我用C写出来的就是面相过程的。C语言的确能写出面相过程的程序,同时它也能写出面想对象的程序,只是代价有点大,花费的精力有点多。总结下,用什么思想不取决于你使用的语言,取决于你写代码用的思想,也就是取决于你的思想。
    当你看见面相对象的时候,你会很自然的想到类和对象这样的字眼。类就是具有相同性质一类事物的结合,比如人,这就是一个类--人类,每个类都有属性和方法。对象就是一个个单独的个体,对象也称为实例,比如在这里写博客的我,和在这里看博客都你,都是对象,都是一个单独的个体。面相对象有继承,封装,和多态几个特点,如果仅仅是用代码去了解面相对象的思想我觉得比较困难,但是我坚信,这个思想也来源于生活。
    一天你看见一个让你心动的女孩,但是你又不认识,这时候你选择搭讪。这时候你会很走过去找她问姓名和联系方式,比如:你叫什么?之前我说过,人类是一个类,你和那个女孩是都是一个个对象,当你问她姓名的时候,你不会去想,她有姓名吗,显然你认为每个人都是有姓名的,姓名就是人类的一个属性,但是这时候你并不知道她的姓名,你看见了这个陌生的对象,你不知道她的姓名,也不知道她的年龄,但是这些都是人类应该有的属性,这个就是封装,将一些属性封装起来,不让你看见,但是这并不代表你永远不能知道她的姓名,她可以通过说话的形式告诉你她的姓名,说话就是人类的一个方法。
    对于继承也好理解,世界上所有的老师是一个类,但是老师也是人,人所拥有的属性老师也都有,这里我们就称老师类继承人类。人能做的事老师都能做,但是老师能做的,比如教书,不是所有的人都能做。
多态是指两个或多个属于不同类的对象,对于同一个消息(方法调用)作出不同响应的方式。比如说,一个人和一条狗,他们都会跑步,但是你是用四肢进行跑步的吗?
我相信你应该基本了解面相对象的思想了,我们回头再看看之前的那个脑经急转弯,你要放大象的冰箱是一个对象,冰箱有打开冰箱门和关闭冰箱门的方法,人有放东西的方法,冰箱有存东西的方法,然后这个大象就这样被我使用这些方法放入冰箱了。

可能文中你会有觉得不合理的地方,请在评论地方指出,共同探讨,共同进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值