- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
我的面向对象程序观
我的面向对象程序观
作者:莫特探员????来自:未知
一、面向对象概念的一些误解
“面向对象”是一个如今被人叫烂的词汇,就像去年人们都喜欢把自己的公司打上“.com”的标记一样。其实有多少人能真正理解这个词汇呢,很难说。我喜欢这样来比喻人们对“对象”一词的滥用。“对象”就好比人们经常说的“酷”和“爽”,很多人并不仔细考虑这两个词的差别,在很多情况下他们是通用的,“酷”和“爽”通常表达“心情不错”的意思,你可以在你玩的高兴的时候,大声的叫嚷“太酷了,太爽了”,这个时候两个词汇是通用的。但是你可以说“这个人很酷啊”,但是你不能说“这个人很爽啊”。人们对“对象”这个词汇的滥用就发生在这里,“面向对象”和“基于对象”就好比“酷”和“爽”,这是两个不同的概念,但是人们通常将这两个词汇混为一谈,一律用“面向对象”来表达。常见的错误可以在此列举一些:
1)有个人兴高采烈的和你说“我不喜欢 flash 4 的脚本语言,flash 5 版本的 action script .”语法,写起来很舒服。我现在一直用 flash 5 来做东西。”(同样的话语也发生在 director 的 lingo 脚本语言中)
2)visual basic 采用了面向对象的属性和方法,比起过去的 basic 语言有了很大的提高。
3)javascript 是面向对象的。
通常听到类似的话,你都要认真审视说话之人,分析他说的话。可以肯定一点,他并非真正懂得什么是面向对象的思想。很多人没有区分“面向对象”和“基于对象”两个不同的概念。面向对象的三大特点(封装,继承,多态)缺一不可,通常“基于对象”使用对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新的对象,也就是说“基于对象”没有继承的特点,而“多态”是表示为父类类型的子类对象实例,没有了继承的概念也就无从谈论“多态”。现在的很多流行技术都是基于对象的,它们使用一些封装好的对象,调用对象的方法,设置对象的属性。但是它们无法让程序员派生新对象类型。他们只能使用现有对象的方法和属性。所以当你判断一个新的技术是否是面向对象的时候,通常可以使用后两个特性来加以判断。“面向对象”和“基于对象”都实现了“封装”的概念,但是面向对象实现了“继承和多态”,而“基于对象”没有实现这些,的确很饶口。
二、java 比 C++ 在贯彻面向对象的思想方面更加彻底。
C++ 是打着面向对象的幌子,干着过程编程的勾当”,这句话我非常的赞同,而且我一直以来也是这么认为的。但是仔细听他讲解后,我才发现,我是只是理解了这句话前两层的意思。但是还有一层意思我没有理解。你可能要问,“难道 C++ 不是面向对象的吗?”。事实上 C++ 是真正的面向对象编程语言。但是它也是过程编程语言。为什么怎么说呢, C++ C 语言的向后兼容,使得 C++ 这种杂合语言表现出“过程”和“对象”编程的双重性。你通常既可以继续用 C++ 编译器来编写传统的 C 程序,也可以使用 C ++ 的类库或者编写自己的类来作面向对象编程。这种“两面性”使得人们可以继续保留原有的 C
举个简单的例子,94 年的时候,我开始学习 C++ ,当时是学习 turbo C++ 自己带的一个叫作 turbo vision turbo C++ ,但是他一点也没有学习过 C++ 这个语言,他只是用 turbo c++ 编译器来重新编译他以前用 turbo c 写的程序,然后他自豪的对我说:“瞧,我用 c++ 做的东西”,好像意思是说“我用 c++ 开发项目了”,在那个 c 比 pascal 高档, pascal foxbase 高档的年代里, C++ 的标签绝对是个很酷的标志。我其实很清楚他的行为。这就是“C++ C++ 编译器对 C C++ 编译器做 C 编程。 我学习了 C++ 语言,我懂得封装,继承和多态,我学习了 turbo vision 的类库,我派生了 turbo vision C++ 后,我的第一个感觉是,从头创建一个类库真是很麻烦的事情,通常用 C C++ 是打着面向对象的幌子,干着过程编程的勾当”的第二重意思,实际上用 C++ 编程的人,大部分不自己创建类,而是使用类库,这样就造成了他们把类库作为一种高级的库函数库来理解,并没有真正理解面向对象的思想。
C++ 的面向对象的思想推广很慢,直到 MFC ,OWL ,VCL C++ 给了我们第二条道路去走过程编程”,当然原因是为了考虑兼容 C 语言,然而正是由于有了第二条老路才使得使得我们不会再去考虑新的面向对象编程思维方式。
Java ,才真正迎来了面向对象的曙光。Java 真正是革命性的东西吗?不是,所有现有的 java 20 年前的 UCSD pascal java
您可能关注的文档
- 四川大学卓越工程师培养计划.doc
- 四川省成都市都江堰市工商业联合会.doc
- 四川省成都市望子成龙学校2011-2012学年八年级下学期期中模拟考试数学试题 2.doc
- 四川省成都望子成龙学校2012年八年级(上)期中模拟数学试题(含答案).doc
- 四川省望子成龙学校2013-2014学年八年级物理上学期期末考试试题.doc
- 四川省望子成龙学校2014届九年级化学上学期期末模拟试题.doc
- 四川省望子成龙学校2013-2014学年八年级语文上学期期末考试试题.doc
- 四川省望子成龙学校2014届九年级物理上学期期末考试试题.doc
- 四川省望子成龙学校2014届九年级英语上学期期末考试试题.doc
- 四川省望子成龙学校2014届九年级语文上学期期末考试试题.doc
文档评论(0)