打字猴:1.700415597e+09
1700415597 计算机是怎样跑起来的 [:1700412680]
1700415598 本章重点
1700415599
1700415600 在本章笔者想让诸位掌握的是有关面向对象编程的概念。理解面向对象编程有各种各样的方法,程序员们对它的观点也因人而异。本章会将笔者至今为止遇到过的多名程序员的观点综合起来,对面向对象编程进行介绍。哪种观点才是正确的呢?这并不重要,重要的是把各个角度的观点综合起来,而后形成适合自己的理解方法。在读完本章后,请一定要和朋友或前辈就什么是面向对象编程展开讨论
1700415601
1700415602
1700415603
1700415604
1700415605 计算机是怎样跑起来的 [:1700412681]
1700415606 计算机是怎样跑起来的 7.1 面向对象编程
1700415607
1700415608 面向对象编程(OOP,Ojbect Oriented Programming)是一种编写程序的方法,旨在提升开发大型程序的效率,使程序易于维护(这里据说的维护指的是对程序功能的修改和扩展)。因此在企业中,特别是管理层的领导们都青睐于在开发中使用面向对象编程。因为如果开发效率得以提高、代码易于维护,那么就意味企业可以大幅度地削减成本(开发费用+维护费用)。甚至可以这样说,即使管理者不十分清楚面向对象编程到底是什么,他们也还是会相信“面向对象编程是好东西”。
1700415609
1700415610 但在实际的开发工作中,程序员却有一种对面向对象编程敬而远之的倾向。原因在于他们不得不重新学习很多知识,还会被新学到的知识束缚自己的想法,导致无法按习惯的思维开发。以笔者的经验来看,如果是讲解传统的编程方法,那么只需要写一本书就够了,而讲解面向对象编程则需要写两本书。直说的话就是面向对象编程太麻烦了。甚至还曾听到过这样的传言:若是在面向开发人员的杂志中刊登了标题中含有面向对象编程的专栏,那么仅凭这一点,杂志的销路就不好了。
1700415611
1700415612 虽然现状如此,但还是讲解一下面向对象编程吧。因为在未来的开发环境中,将成为主流的不是Java就是.NET(原作写于2003年,所以当时的情况和当时对未来的展望可能和今天的状况多少有些出入),而无论选择哪个,面向对象编程的知识者是不可缺少的。这使得在这之前还对其敬而远之的程序员也不得迎头赶上了,因为已经没有退路了。
1700415613
1700415614 的确,精通面向对象编程需要花费大量时间,所以先通过阅读本章,掌握一些基础知识,至少能够说出面向对象是什么。然后再为实践面向对象编程开始踏踏实实的深层学习吧
1700415615
1700415616
1700415617
1700415618
1700415619 计算机是怎样跑起来的 [:1700412682]
1700415620 计算机是怎样跑起来的 7.2 对OOP的多种理解方法
1700415621
1700415622 在计算机术语辞典等资料中,常常对面向对象编程做出了如下定义
1700415623
1700415624 面向对象编程是一种基于以下思路的程序设计方法:将关注点置于对象(object)本身,对象的构成要素包含对象的行为及操作(在C语言中,结构体是数据的集合,它将数据捆绑在一起,使得我们可以将这些数据看作一个整体。而对结构体中的数据进行操作的函数却写在了结构体外部。然而在面向对象编程中,将表示事件行为的函数也放入了这个整体,这就形成了对象的概念,使得这个整体既能描述属性,又能描述行为),以此为基础进行编程。这种方法使程序易于复用,软件的生产效率因而得以提升。其中所使用的主要编程技巧有继承、封装、多态三种。
1700415625
1700415626 这段话足以作为对术语的解释说明,但仅凭这段话还是无法理解面向对象编程的概念
1700415627
1700415628 “面向对象编程是什么?”如果去问十个程序员,恐怕得到的答案也会有十种。就此打个可能稍微有点特别的比方吧。有几个人去摸一只刺猬,但他们看不到刺猬的全身。有的人摸到了刺猬的后背,就会说“摸起来扎手,所以是像刷子一样的东西”;有的人摸到了刺猬的尾巴,就会说“摸起来又细又长,所以是像绳子一样的东西”(图7.1)
1700415629
1700415630 图7.1 面向对象编程是什么?
1700415631
1700415632
1700415633
1700415634
1700415635 同样的道理,随着程序员看问题角度的不同,对面向对象编程的理解也会仁者见仁,智者见智。
1700415636
1700415637 那么到底哪种理解方法才是正确的呢?其实无论是哪种方法,只要能够通过实际的编程将其付诸实施,那么这种方法就是正确的。诸位可以用自己的理解方法去实践面向对象编程。虽然是这么说,但如果仅仅学到了片面的理解方法,也是无法看到面向对象编程的全貌的,会感到对其概念的理解是模糊的。因此,下面我们就把各种理解方法和观点综合起来,以此探究面向对象编程的全貌
1700415638
1700415639
1700415640
1700415641
1700415642 计算机是怎样跑起来的 [:1700412683]
1700415643 计算机是怎样跑起来的 7.3 观点1:面向对象编程通过把组件拼装到一起构建程序
1700415644
1700415645 在面向对象编程中,使用了一种称为“类”的要素,通过把若干个类组装到一起构建一个完整的程序。从这一点来看,可以说类就是程序的组件(component)。面向对象编程的关键在于能否灵活地运用类
1700415646
[ 上一页 ]  [ :1.700415597e+09 ]  [ 下一页 ]