仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 508|回复: 10
打印 上一主题 下一主题

[学习教程] 发布一篇冒号教室§2.3:对象范式

[复制链接]
乐观 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:09:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
还是要自己一点一点写代码,然后编译,改错再编译好那。还有最重要的是.net的编译环境非常好,你甚是不需要了解太多工具,对于简单的系统,你可以之了解一些语法就哦了。
第二课主要范式(3)
2.3对象范式——平易近主制社会的编程法例
平易近为贵,社稷次之,君为轻                      ——《孟子·经心下》
关头词:编程范式,OOP,面向对象,历程式编程
择要:OOP简谈
?发问
OOP是一种特别的命令式吗?
OOP的基础头脑是甚么?
OOP究竟幸亏那里?
OOP将要金瓯无缺吗?
历程式编程与OOP在计划理念上有甚么差别?
:解说
短憩以后,引号刻不容缓地问:“面向对象的范式应当是一种特别的命令式吧?”
“面向对象?”冒号咕哝着,“临时称之为OO或对象式吧,既不别具一格,也不耳食之言。在回覆你的成绩之前,请先回覆我的:甚么是OOP?”
引号应对如流:“OOP(Object-Orientedprogramming)是一种盘算机编程形式,它以对象作为成绩空间的基础元素,使用对象和对象间的互相感化来计划程序。所谓对象,是实践成绩中实体的笼统,具有必定的属性和功效。OOP的三个基础特征是:封装性、承继性和多态性。所谓封装性就是——”
冒号作了个停息的手势:“OOP的的基础特征信任人人早就耳熟能详了,那末依据你方才的界说,可否得出OOP必定是命令式的结论?”
引号歪头想了一阵,答道:“从界说上仿佛其实不能得出,岂非C++、Java、C#不是命令式的吗?”
冒号回覆:“固然是,但这无妨碍Clos成为OO版的Lisp,而Prolog也有很多融进OO特性的扩大,如VisualProlog、Logtalk等。OOP固然是在命令式的基本上开展起来的,但其中心头脑可泛化为:以数据为中央构造逻辑,将体系视为互相感化的对象汇合,并使用承继与多态来加强重用性。这类头脑也能使用到函数式和逻辑式中,只不外对象的办法从命令式中的历程分离换成函数式中的函数和逻辑式中的断言而已。大抵说来,命令式、函数式和逻辑式相互平行,而OOP与它们正交。”
问号发问:“OOP已成为一种潮水,上堂课枚举的十二种盛行言语中只要C不是OO的,这是不是意味着OOP将要金瓯无缺?”
“严厉说来,VB(VB.NET除外)和JavaScript也不是OO的,只是基于对象的(ObjectBased)[1]。”冒号改正道,“至于OOP是不是会金瓯无缺,谜底是不是定的。起首,与能独当一面的三类最基础的范式分歧,地道的OOP是不存在的[2],必需分离其他范式;其次,世上没有包治百病的万灵丹方,OOP也不破例。用软件业的行话来讲:没有银弹(Nosilverbullet)[3]。OOP最合用于年夜型庞大的、交互式的、特别是与实际天下亲切相干的体系,但在小型使用、数学盘算、标记处置等方面并没有上风。必要指出的是,言语和范式的盛行,与至公司撑持和贸易推进是亲切相干的。有人说OOP实际上是MOP(Money-OrientedProgramming),即以款项为导向的。虽有过激之嫌,但有履历的股平易近都晓得,有主力运作的股票老是涨得快一些的。固然OOP能盛行,自有独到的地方,谁能说说它究竟幸亏那里?”
逗号抢答:“OOP能进步软件可重用性、可扩大性和天真性。”
冒号反问:“为何历程式编程的可重用性、可扩大性和天真性就差呢?”
感应来者不善,逗号有点发虚:“由于OOP具有信息埋没、承继和多态的特性。”
冒号其实不买帐:“起首,将可重用性、可扩大性和天真性与OOP划等号,是只见树木,不见丛林——那是一切范式和言语的配合方针。其次,以C言语为例,信息埋没可用关头字static来完成;承继可用分解(composition)来取代;多态固然坚苦些,也有变通之法。更况且这些只是手腕而非目标,只需计划公道,C程序一样具有可重用性、可扩大性和天真性,功能效力还更优胜。即便在OOP日趋流行的明天,C的占据率一直稳踞前线,很多年夜型庞大软件如操纵体系、数据库等仍以C为主,这足以证实其仍堪年夜用。”
<p>
一旦你有了思想,那你编的程序就有了灵魂,不管是什么语言到了你的手里都会是你的工具而已,他们的价值是能尽快帮助你实现你想要的目标。但是如果你没有了思想,那就像是海里的帆船失去了船帆,是很难到打海的另一边的。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-20 15:30:27 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
再现理想 该用户已被删除
板凳
发表于 2015-1-29 12:16:32 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
第二个灵魂 该用户已被删除
地板
发表于 2015-2-6 00:42:11 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
山那边是海 该用户已被删除
5#
发表于 2015-2-9 03:29:50 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-26 20:16:24 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
透明 该用户已被删除
7#
发表于 2015-3-8 17:12:40 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
谁可相欹 该用户已被删除
8#
发表于 2015-3-16 07:25:38 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
冷月葬花魂 该用户已被删除
9#
发表于 2015-3-22 21:09:48 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
冷月葬花魂 该用户已被删除
10#
发表于 2015-3-22 21:09:46 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
活着的死人 该用户已被删除
11#
发表于 2015-3-22 21:09:47 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-28 15:25

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表