仓酷云

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

[学习教程] 了解下JAVA的进步Java代码重用性的三个措施

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

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

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

x
唉!都是钱闹的1.Swing和.net开发比较------从市场份额看.net开发主要占据大部分的中小型和中型的的桌面开发,原因是它封装了很多工具
措施一:改写类的实例办法
经由过程类承继完成代码重用不是准确的代码重用手艺,因而它并非最幻想的代码重用机制。换句话说,假如不承继全部类的一切办法和数据成员,我们没法重用该类内里的单个办法。承继老是带来一些过剩的办法和数据成员,它们老是使得重用类内里某个办法的代码庞大化。别的,派生类对父类的依附干系也使得代码进一步庞大化:对父类的修改大概影响子类;修正父类大概子类中的恣意一个类时,我们很难记得哪个办法被子类掩盖、哪个办法没有被子类掩盖;最后,子类中的掩盖办法是不是要挪用父类中的对应办法偶然其实不不言而喻。
任何办法,只需它实行的是某个单一观点的义务,就其自己而言,它就应当是首选的可重用代码。为了重用这类代码,我们必需回回到面向历程的编程形式,把类的实例办法移出成为全局性的历程。为了进步这类历程的可重用性,历程代码应当象静态工具办法一样编写:它只能利用本人的输出参数,只能挪用其他全局性的历程,不克不及利用任何非部分的变量。这类对内部依附干系的限定简化了历程的使用,使得历程可以便利地用于任何中央。固然,因为这类构造体例老是使得代码具有更明晰的布局,即便是不思索重用性的代码也一样可以从中获益。
在Java中,办法不克不及离开类而独自存在。为此,我们能够把相干的历程构造成为自力的类,并把这些历程界说为公用静态办法。
比方,关于上面这个类:
classPolygon{
.
.
publicintgetPerimeter(){...}
publicbooleanisConvex(){...}
publicbooleancontainsPoint(Pointp){...}
.
.
}
我们能够把它改写成:
classPolygon{
.
.
publicintgetPerimeter(){returnpPolygon.computePerimeter(this);}
publicbooleanisConvex(){returnpPolygon.isConvex(this);}
publicbooleancontainsPoint(Pointp){returnpPolygon.containsPoint(this,p);}
.
}
个中,pPolygon是:
classpPolygon{
staticpublicintcomputePerimeter(Polygonpolygon){...}
staticpublicbooleanisConvex(Polygonpolygon){...}
staticpublicboolean
containsPoint(Polygonpolygon,Pointp){...}
}
从类的名字pPolygon能够看出,该类所封装的历程次要与Polygon范例的对象有关。名字后面的p暗示该类的独一目标是构造公用静态历程。在Java中,类的名字以小写字母开首是一种非尺度的做法,但象pPloygon如许的类现实上其实不提供一般Java类的功效。也就是说,它其实不代表着一类对象,它只是Java言语构造代码的一种机制。
在下面这个例子中,修改代码的最后的效果是使得使用Polygon功效的客户代码不用再从Polygon承继。Polygon类的功效如今已由pPolygon类以历程为单元提供。客户代码只利用本人必要的代码,无需体贴Polygon类中本人不必要的功效。但它其实不意味着在这类旧式历程化编程中类的感化有所减弱。恰好相反,在组织和封装对象数据成员的过程当中,类起到了不成或缺的感化,并且正如本文接下来所先容的,类经由过程多重接话柄现多态性的才能自己也带来了出色的代码重用支持。但是,因为用实例办法封装代码功效并非首选的代码重用手腕,以是经由过程类承继到达代码重用和多态性撑持也不是最幻想的。
<p>
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-20 15:36:54 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-25 16:35:37 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
再见西城 该用户已被删除
地板
发表于 2015-1-28 05:49:27 | 只看该作者
是一种突破用户端机器环境和CPU
活着的死人 该用户已被删除
5#
发表于 2015-2-5 12:03:54 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
灵魂腐蚀 该用户已被删除
6#
发表于 2015-2-11 16:51:34 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
乐观 该用户已被删除
7#
发表于 2015-3-2 15:49:24 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
8#
发表于 2015-3-11 04:32:35 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
变相怪杰 该用户已被删除
9#
发表于 2015-3-17 20:12:29 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
谁可相欹 该用户已被删除
10#
发表于 2015-3-25 00:15:54 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-28 19:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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