全国咨询热线:400-009-1906

全国24小时免费热线

400-009-1906

浅谈编程中面向对象学习对程序员的重要性

时间:2017-10-16 17:17:44   来源:尚学堂   阅读:
        无论是自学编程,还是参加过程序员培训的同学都知道面向对象的重要性,下面我们就来说一说关于面向对象的一些知识。
  面向对象和面向过程的思想有着本质上的区别, 作为面向对象的思维来说,当你拿到一个问题时,你分析这个问题不再是第一步先做什么,第二步再做什么,这是面向过程的思维,你应该分析这个问题里面有哪些类和对象,这是第一点,然后再分析这些类和对象应该具有哪些属性和方法。这是第二点。最后分析类和类之间具体有什么关系,这是第三点。面向对象有一个非常重要的设计思维:合适的方法应该出现在合适的类里面
  很多程序员编程时不知道如何去应用面向对象,其实应该在程序员培训时就有意识的培养自己的思维。面向对象的基本思想是,从现实世界中客观存在的事物出发来构造软件系统,并在系统的构造中尽可能运用人类的自然思维方式。
  另外学过编程的同学都知道,对象是用于计算机语言对问题域中事物的描述,对象通过“属性(attribute)”和“方法(method)”来分别对应事物所具有的静态属性和动态属性。
  类是用于描述同一类的对象的一个抽象的概念,类中定义了这一类对象所具有的静态属性和动态属性
  类可以看成一类对象的模板,对象可以看成该类的一个具体实例。
  那么如何抽象出一个类呢?有两个方面,一方面是它的静态属性,另一方面是它的动态属性。反映到JAVA里面的类怎么包装它呢?一方面成员变量,另一方面是方法。
  用职员来举例,职员这个类该怎么抽象出来?也是从两个方面,一方面是它的静态属性,另一方面它的动态属性
  职员有哪些属性呢?有姓名,年龄,目前工资数额等属性,他有哪些方法呢?让这个职员来显示姓名,显示年龄,修改姓名,领取工资。当然显示姓名,显示年龄,修改姓名,领取工资这些也可以让别人来做,但面向对象的设计思维是最合适的方法应该出现在最合适的类里面。显示姓名,显示年龄,修改姓名,领取工资由谁来做更合适呢,那就是职员自己最合适。所以这些方法应该出现在职员这个类里面。
        说明: http://upload-images.jianshu.io/upload_images/1807893-3093487c7214bb25.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240
        对于类来说,它有一些属性或者称为成员变量,以后说属性或者成员变量指的是同一回事。具体的对象他有没有相关的一些属性或者叫成员变量呢?有,每一个人都有一份,只不过是取值不同而已。如从职员这个类实例化出来的两个职员:职员A和职员B,他们都有姓名,年龄,目前工资数额这些属性,但他们的名字,年龄,领取的工资数额都不一样。这样就能把职员A和职员B区分开来了,正是因为他们的属性值不一样,所以这个对象才能和另外的对象区分开来,所以通过属性是可以区分两个对象的。猫是一个类,这只猫是一个对象,这只猫和另外一只猫该怎么区分开来呢?那就得看你的猫这个类是怎么定义的了,猫有猫毛,毛有颜色。OK,这只猫是黑猫,另一只猫是白猫,这样通过猫毛的颜色区分开来了。如果只定义一个,如捉老鼠,白猫也能捉,黑猫也能捉,这样就没办法区分出黑猫和白猫了,所以根据方法是没办法区分两个对象的。所以每个对象都有自己的属性,属性值和另外一个对象一般是不一样的。
        因此面向对象作为现在编程领域的一大主要思想,尤其是在程序员培训中老师总是反复强调,其实你会发现它并没有想象中那么难,当然如果想要把面向对象运用的很好,还是要多积累经验的,只有经验多了,对面向对象的理解才会越来越深刻,你也会越来越感受到它在你程序员生涯中是有着举足轻重的地位的。
 
分享:0
  • 北京校区
  • 上海校区
  • 广州校区
  • 深圳校区
  • 长沙校区
  • 四川校区
  • 武汉校区
  • 郑州校区
  • 山西校区
北京海淀区校区(总部):北京市海淀区西三旗桥东建材城西路85号神州科技园B座尚学堂
北京京南校区:北京亦庄经济开发区科创十四街6号院1号楼 赛蒂国际工业园
咨询电话:400-009-1906 / 010-56233821
面授课程: JavaEE培训大数据就业班培训大数据云计算周末班培训零基础大数据连读班培训大数据云计算高手班培训人工智能周末班培训
人工智能+Python全栈培训H5+PHP全栈工程师培训视觉设计培训
上海尚学堂松江校区地址:上海市松江区荣乐东路2369弄45号绿地伯顿大厦2层
咨询电话:021-67690939
面授课程: JavaEE培训人工智能+Python全栈大数据培训云计算&大数据培训前端培训PHP培训全栈工程师培训
广州校区地址:广州市天河区元岗横路31号慧通产业广场B区B1栋6楼尚学堂(地铁3号线或6号线到“天河客运站”D出口,右拐直走约800米)
咨询电话:020-2989 6995
面授课程: JavaEE培训人工智能+Python全栈大数据培训云计算&大数据培训PHP培训全栈工程师培训
深圳校区地址:深圳市宝安区航城街道航城大道航城创新创业园A4栋210(固戍地铁站C出口)
咨询电话:0755-23061965 / 18898413781
面授课程: JavaEE培训人工智能+Python全栈大数据培训PHP全栈工程师培训产品经理培训
长沙学区地址:长沙市岳麓区麓源路湖南电子商务基地5楼(公交车站:六沟垅)
咨询电话:0731-83072091
面授课程: JavaEE培训人工智能+Python全栈大数据培训全栈工程师培训产品经理培训
四川学区地址:成都市高新区锦晖西一街99号布鲁明顿大厦2栋1003室
咨询电话:028-65176856 / 13880900114
面授课程: JavaEE培训大数据培训全栈工程师培训产品经理培训
武汉学区地址:湖北省武汉市江夏区江夏大道26号 宏信悦谷创业园4楼
咨询电话:027-87989193
面授课程: JavaEE培训大数据培训全栈工程师培训产品经理培训
郑州学区地址:金水区东风路经三路北100米注协大厦10楼
咨询电话:0371-55177956
面授课程: JavaEE培训大数据培训全栈工程师培训产品经理培训
山西学区地址:山西省晋中市榆次区大学城大学生活广场万科商业A1座702
咨询电话:0354-3052381 / 18903441162
面授课程: JavaEE培训大数据培训全栈工程师培训产品经理培训
Java培训 - Android培训 - ios培训 - hadoop培训 - 专业IT培训机构
Copyright 2006-2018 技术支持:太原市正觉教育科技有限公司  京ICP备13018289号-19  京公网安备11010802015183  
媒体联系:18610174079 闫老师