一个菜鸟程序员对面向对象的感想

从大一开始,我就对编程很感兴趣,在大一学了C一年了,一直都是用C进行的编程。导致我只会结构化的思想。最近在和老师的交流上和在看各类的文章,书籍的时候,我也有了对于面向对象的思想的一定的感想。又刚好打算在CSDN创建自己的第一个博客,写下一些自己的学习或者读书想法。

面向对象是一种面向过程的,这是我们看书基本都会看到的,而很多的老师也是这么教的,但是对于新手或者是一个从C开始学习敲代码的人来说,理解起来还是挺困难的。那么,对于一个刚开始学习面向对象编程的人来说,首要明白的是面向对象这四个字的含义,其实面向对象从字面上来理解还是很容易的,"面向"即指针对,而“对象”就是一个名词,人是名词,系统也是名词,只要是名词的,,就可以成为一个对象。再讲简单细致点,面向对象其实就是指针对一些具体的或者是抽象的事物进行编程,java中每一个类就是单独的一个对象,而且每个类的名字必须是名词。

面向对象和面向过程的区别就是面向对象指的是针对一个个事物进行编程,然后给事物附加上属性和行为。举例说明:一个人,人可以有体重,身高等属性,可以有走路,说话等行为,然后在类里就要给它定义(int weight、int height;)这些属性和(public boolean isWalking();public boolean isTalking();)这些行为,这样这个类就是一个单独的个体——人了。

然后可以定义比人这个事物更高一级的事物——一个简单的社会——Society。社会上有人,身高体重各不相同的人,人可以走路,可以说话。

我想现在,刚开始学习面向对象编程的程序员已经会有一点自己的见解了,这里再给大家一点点思索的空间,一个完整的社会还需要什么,那我们就可以创造什么,其实,这个在很多的电影里都有体现出这种思想了,比如 The hunger game,程序员可以创造出一个动物,一棵树,这就是指的面向对象,这些树其实就是比较完善的一个类,它能够包含树的绝大多数的属性(百分之百是不可能的,虚拟毕竟还是虚拟——个人见解,求交流^.^),直接调用树这个类,然后给它定义坐标,高矮,繁茂枯萎等等的具体的属性,它就能模拟出来了。所以说,程序员是很牛逼的,是不是,嘿嘿!

上一段话,如果暂时还没理解过来的娃^.^可以看会书,看会电影,过一会再看看这段话,相信还是会有所收获的,如果不太懂的话也可以私信我哈,看看能不能有所改进,也让我有点收获O(∩_∩)O~。

好了,扯远了,回归刚刚说的,两者的区别,了解了下面向对象,现在让我们来看看面向过程,也就是现在经常被老师和各种资深程序员说已经被淘汰的写法。面向过程中,最具代表性的就是C语言了,我是来自华农的,而我们华农的计算机专业中,首先要学的就是C语言。确实,很多学校都是直接学C++或者java的,两者各有好坏吧!不过,我还是觉得直接学C++或者java的同学,不如也稍微看一下C,其实这些语言都很想通的。看了C,你就会发现面向对象语言的优越性,也会发现面向过程是一种比较蛋疼的语言了=。=!

好吧,我又扯远了~~~,咳咳~~,回归正题。

面向过程:指的就是针对一个个过程,写上具体的函数,还是刚刚的那个例子再用一次,针对刚刚的社会上有行走的人,有说话的人,面向过程是这样编程的:String name(一个人的名字);System.out.println(name+"is walking");...,或许会有些许偏差,因为暂时也找不到比较好的例子来描述了(如果有哪个朋友有更好的例子的话,可以直接在论坛交流或者私信我啦,我会进行修改的^.^)。

刚开始,可能看不出面向对象和面向过程的区别在哪里,但是,如果,这个事物开始变得复杂了,那么,面向对象的优越性就体现出来了,比如:一个人并不只是会走路说话,还要吃饭,洗澡,刷牙等等等等~~~,而如果是面向过程编程的话,就需要一个个的去写这个人要干嘛,那个人要干嘛,这个人同时还要干嘛干嘛;面向对象编程的话,就是一个个先写好人这个类,把吃饭,洗澡,刷牙等等等等~~~的属性加到这个类中就可以了,然后每次要做什么的时候,在社会这个类中调用各种方法就行了(这也就是老师常说,当编程一旦变得复杂起来,面向对象就体现了它无比的优越性了,同学,这下你理解了吗^.^)。

这样说起来,是不是很简单,容易理解呀,而且还会有一种这两者的区别不会很大的错觉呢~,如果有的话,可是可以试试用这两种方法去写写社会这个类吧!


                     来自会呼吸的滑哥

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值