仓酷云

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

[学习教程] JAVA网站制作之Nice用户手册(三)

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

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

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

x
你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。第三章类与接口类声明



数据成员
一个类最次要的组件使它的数据成员列表。数据成员是从属于每个类实例的变量,它有范例、称号,能够有初始值。数据成员的声明语法以下:

typefield-name[=initial-value];



假如没有被付与默许值,那末每次挪用机关器都必需给这个成员付与一个指定的值。假如它具有了默许值,对机关器的挪用会掩盖谁人值,在这类情形下默许值不会被盘算(只要当盘算会带来反作用时这一点会变得很主要)。




机关器
Nice中的类有一个由编译器主动天生的默许的(大概说“主动的”)机关器。这个机关器同意类中一切的事务成员被显式地初始化,但假如一个数据成员在声明时已有了一个默许值时,它将不会呈现在机关器中而是利用默许值。在年夜多半情形下,这个默许机关器已能够满意必要,它把程序员从愁闷的,仅仅是吸收值并将它们赋给数据成员的代码中摆脱出来。





示例3.1利用默许机关器声明及创立类



classCar{



Stringbrand;



Stringmodel;



intnumberOfWheels=4;



intnumberOfDrivingWheels=2;



}







voidtest(){



Carrenault5=newCar(brand:"Renault",model:"Cinq");



Carjeep=newCar(brand:"Jeep",model:"Somejeep",numberOfDrivingWheels:4);



}







挪用机关器时必需包括数据成员的称号,这一点很主要。起首,如许不必检察类界说就可以很简单了解参数代表着甚么。其次,能够不必再将数据成员果断地列序1。(1在Java中当机关器参数的序次必需被改动时会呈现成绩。如许做必需修正一切的挪用点,而这类修正在最好情形下会招致烦琐的事情和毛病,而在最坏情形下是不成能完成的(当编写一个库时)。当按次改动了而只要一部分挪用点被修正后会呈现以下情形:假如互换的参数范例纷歧致,编译没法经由过程;大概,编译能够经由过程但在运转时发生毛病的了局。在Java中没有一个复杂的办法能办理这个成绩。在Nice中,挪用机关器时利用称号则是一种办理计划。)由于数据成员的称号被显式利用,赋值时可使用任何按次。

当机关器中必要处置更多的把持时,能够写一个新的机关器以代替主动机关器。新机关器的写法很像别的办法,但在声明时有渺小不同:





newclass-name(param-typeparam-name[=initial-value],...){



method-body;



this(argument,...);



}







语法中请求任何自界说机关器中最初一条语句必需挪用统一范例的别的机关器,在年夜多半情形下挪用的是主动机关器。





示例3.2利用自界说机关器界说并创立构类



/**



*Classwhichencapsulatesastrategyfor



*wayoftranslatingacharacter.



*/



classTranslator{



//Thefunctionthatactuallyperformsthetranslation



char->chartransFunction;



//conveniencemethod



chartranslate(charinput){



return(this.transFunction)(input);



}



}







/**



*Constructorwhichtakesamapofcharacters,and



*returnsaTranslatorwhichlooksuptheinput



*characterinthemap,orjustreturnstheinput



*characterifitsnotinthemap.



*/



newTranslator(Map<char,char>characters){



this(transFunction:charc=>characters.get(c)||c);



}



//Atranslatorwhichprovidesrot13ciphering.



//Usesautomaticconstructor.



varTranslatorrot13=newTranslator(transFunction:charc=>char(int(c)+13));



//AtranslatorwhichjustchangessorSto$.



//Usescustomconstructor.



varTranslatorsToDollar=newTranslator(characters:listToMap([(s,$),(S,$)]));



令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。
若天明 该用户已被删除
沙发
发表于 2015-1-20 21:53:21 | 只看该作者
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
再现理想 该用户已被删除
板凳
发表于 2015-1-20 21:53:21 来自手机 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
飘灵儿 该用户已被删除
地板
发表于 2015-1-28 20:27:29 | 只看该作者
不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
admin 该用户已被删除
5#
发表于 2015-2-9 03:02:00 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
山那边是海 该用户已被删除
6#
发表于 2015-2-12 23:05:09 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
乐观 该用户已被删除
7#
发表于 2015-2-26 22:15:14 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
变相怪杰 该用户已被删除
8#
发表于 2015-3-1 20:25:23 | 只看该作者
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
只想知道 该用户已被删除
9#
发表于 2015-3-5 09:49:23 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
谁可相欹 该用户已被删除
10#
发表于 2015-3-12 03:36:32 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
第二个灵魂 该用户已被删除
11#
发表于 2015-3-19 17:50:42 | 只看该作者
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
深爱那片海 该用户已被删除
12#
 楼主| 发表于 2015-3-31 15:47:41 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 16:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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