⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java入门(2).htm

📁 java入门,非常的浅显易懂JAVA入门Java入门(3).rar
💻 HTM
📖 第 1 页 / 共 3 页
字号:
        <TR>
          <TD class=blackblk align=middle height=20><FONT 
            color=#ffffff>==&gt;热辣文档&lt;==</FONT></TD></TR>
        <TR>
          <TD class=middleblk>
            <TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
              <TBODY>
              <TR>
                <TD vAlign=top width=6>·</TD>
                <TD><A 
                  href="http://www.linuxaid.com.cn/articles/7/0/706710723.shtml" 
                  target=_blank><FONT color=#ffffff>Qmail邮件系统下防止滥用mail 
                  relay完全解决方案</FONT></A></TD></TR>
              <TR>
                <TD vAlign=top width=6>·</TD>
                <TD><A 
                  href="http://www.linuxaid.com.cn/articles/7/2/720988345.shtml" 
                  target=_blank><FONT 
                color=#ffffff>iptables应用之动态DNS</FONT></A></TD></TR>
              <TR>
                <TD vAlign=top width=6>·</TD>
                <TD><A 
                  href="http://www.linuxaid.com.cn/articles/5/0/507500984.shtml" 
                  target=_blank><FONT 
              color=#ffffff>Linux环境下基于策略的路由</FONT></A></TD></TR>
              <TR>
                <TD vAlign=top width=6>·</TD>
                <TD><A 
                  href="http://www.linuxaid.com.cn/articles/5/2/527306119.shtml" 
                  target=_blank><FONT 
                color=#ffffff>用webalizer分析web日志</FONT></A></TD></TR>
              <TR>
                <TD vAlign=top width=6>·</TD>
                <TD><A 
                  href="http://www.linuxaid.com.cn/articles/2/5/258856554.shtml" 
                  target=_blank><FONT 
                  color=#ffffff>邮件系统postfix安装与配置(一)</FONT></A></TD></TR>
              <TR>
                <TD vAlign=top width=6>·</TD>
                <TD><A 
                  href="http://www.linuxaid.com.cn/articles/1/2/121597210.shtml" 
                  target=_blank><FONT 
                  color=#ffffff>在postfix中实现基于cyrus-sasl的SMTP认证</FONT></A></TD></TR>
              <TR>
                <TD vAlign=top width=6>·</TD>
                <TD><A 
                  href="http://www.linuxaid.com.cn/articles/9/9/99268972.shtml" 
                  target=_blank><FONT 
color=#ffffff>简易防火墙建置与流量统计</FONT></A></TD></TR>
              <TR>
                <TD vAlign=top width=6>·</TD>
                <TD><A 
                  href="http://www.linuxaid.com.cn/articles/2/5/256984665.shtml" 
                  target=_blank><FONT color=#ffffff>Linux与硬盘分区</FONT></A></TD></TR>
              <TR>
                <TD vAlign=top width=6>·</TD>
                <TD><A 
                  href="http://www.linuxaid.com.cn/articles/6/2/627801482.shtml" 
                  target=_blank><FONT 
                color=#ffffff>ISO软件工程模板(4)需求说明书</FONT></A></TD></TR>
              <TR>
                <TD vAlign=top width=6>·</TD>
                <TD><A 
                  href="http://www.linuxaid.com.cn/articles/5/1/515140392.shtml" 
                  target=_blank><FONT 
              color=#ffffff>Linux简明系统维护手册</FONT></A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><!----></TD>
    <TD vAlign=top align=right width=608><IMG height=2 alt=smallline 
      src="Java入门(2).files/smallline.gif" width=600 border=0>
      <TABLE class=blackblk cellSpacing=1 cellPadding=0 width=605 border=0>
        <TBODY>
        <TR>
          <TD>
            <TABLE class=brightblk cellSpacing=0 cellPadding=8 width="100%" 
            border=0>
              <TBODY>
              <TR>
                <TD><SPAN class=titleblk>Java入门(2) 面向对象的程序设计</SPAN><BR>
                  <BLOCKQUOTE class=sumblk><STRONG>摘要</STRONG><BR>
                    <P>  通过本章的学习,读者应对“面向对象”的程序设计有一个整体的认识,理解一些相关的术语,为学习Java语言编程打下基础。</P>(2002-08-29 
                    14:07:43)</BLOCKQUOTE>
                  <HR width="98%" noShade SIZE=4>
                  <STRONG>By <A 
                  href="mailto:wing@linuxaid.com.cn">Wing</A></STRONG>, 出处:<A 
                  href="http://www.linuxaid.com.cn/articles/4/9/www.linuxaid.com.cn">fjxufeng</A><BR><BR><SPAN 
                  class=contentblk>
                  <P><B>  本章目标:</B></P>
                  <P>  通过本章的学习,读者应对“面向对象”的程序设计有一个整体的认识,理解一些相关的术语,为学习Java语言编程打下基础。</P>
                  <P><B>  2.1 什么是面向对象的程序设计</B></P>
                  <P>  最早的程序设计工作,是直接使用机器码进行编程的,要利用计算机完成一件事,就得画上无数个0和1,编程不仅需要知识,还需要足够的耐心。第一代程序员们都是这样完成程序编写的,程序出错时,就不得不在众多的0与1之间寻寻觅觅,真的就象是在找虫子呀(Bug,表示错误)。这样的工作方法不仅需要花费大量的时间,还得付出不菲的金钱,不过这对于当时天价的计算机来说,是微不足道的。</P>
                  <P>  随着计算机应用的不断增多,软件开发任务也与日俱增。这时直接使用机器码来编程已经无法应付需要。这时汇编语言诞生了,它使用一些类似MOV、ADD、SUB等助记符来代替一长串0和1。我们先使用这样的语言写出源程序,再用汇编程序将它们翻译成为机器可以运行的机器码,这样使得软件开发变得更简单一些了。</P>
                  <P>  人类总是“发明工具”、“使用工具”、“完善工具”、“再使用”、“再完善”,循序渐进,不断地向前发展。使用汇编语言提高了软件开发的效率,但人类并未满足,又在汇编语言的基础上发展了更贴近人类语言的高级语言,如BASIC、Fortran、Cobol、C等。</P>
                  <P>  在高级语言出现时,计算机已经逐渐普通,正在以“摩尔定律”高速发展(计算速度越来越快,价钱越来越低),计算机的价格已不再是制约计算机应用的关键因素。人类需要大量的计算机软件来提高计算机的应用水平。而在这个时代,计算机硬件已经进入了有序、产业化的发展,但计算机软件却曾一度陷入失控的状态。如何让计算机软件更加可控制,可管理成为了一个十分重要的课题。</P>
                  <P><B>  小知识:</B></P>
                  <P>  在这个时代曾经暴发了一场“软件危机”,许多重要的软件项目都陷入失控的状态,如何使得软件项目胜利的完成,成为整个产业最为头痛的一个问题。曾经有一本著名的书籍《神秘的人月》将这描写成为:“失控的软件项目就象陷入泥潭的骆驼,越挣扎就陷得越深”。有兴趣的读者可以阅读一些相关的书籍。</P>
                  <P>  这一切“创就”了一门新的学科:《软件工程学》,将软件开发工作分成了“系统分析”、“设计”、“编程”、“测试”、“维护”等几个组成部分,一改以往“软件开发就是写程序”的认识。原来,软件开发工作就是充分发挥程序员的聪明才智解决问题,正如一句俗话所说的:“不管黑猫白猫,能逮着老鼠就是好猫”,在软件开发中,曾经奉行着一句矢志不渝的真理“只要能够解决问题的程序就是好程序”。这样,写出来的程序别说别人看不懂,有时连自己一段时间后都看不懂自己的程序了。试想,这样如何能够集众人力量共同完成一个软件项目呢,如何能够对一个软件项目提供有效的维护呢?</P>
                  <P>  通过了一段时间的摸索后,就形成了一套大家都很熟悉的面向过程的“结构化”软件方法学,包括结构化设计、结构化编程等软件开发方法学。如果大家在阅读这本书之前,有一些程序设计的经验的话,对这个应该还是有一些了解的。为了能够让大家理解“结构化”编程与我们在这里要说明的“面向对象”的程序设计的区别,在此我就用“伪代码”写一段程序(在本例中,我主要是用于讲解语法,而不考虑本程序是否有现实作用)。</P>
                  <P><B>  伪代码:</B></P>
                  <P>  伪代码,是指不能够直接编译运行的程序代码,它是用于语法结构讲解的一个工具,它比真正的程序代码更简明,更贴近自然语言。</P>
                  <P><B>  源程序:一个“结构化”程序示例:</B></P>
                  <P>  铅笔数=5</P>
                  <P>  钢笔数=6</P>
                  <P>  圆珠笔数=4</P>
                  <P>  其它笔数=7</P>
                  <TABLE cellSpacing=0 cellPadding=5 width="100%" 
                  bgColor=#cccccc border=1>
                    <TBODY>
                    <TR>
                      <TD><PRE><CODE>
……
// 销售程序段
铅笔数=铅笔数-1 // 卖出了1支铅笔
其它笔数=其它笔数-2 // 卖出了2支其它笔
// 采购程序段
钢笔数=钢笔数+20 // 新进了20支钢笔
圆珠笔数=圆珠笔数+10 // 新进了10支圆珠笔
……
</CODE></PRE></TD></TR></TBODY></TABLE>
                  <P><B>  正如上面的程序段所示,在结构化的程序我们通常是:</B></P>
                  <P>  1) 定义变量及其初始值;</P>
                  <P>  2) 根据事件发展顺序,进行相对应的处理。</P>
                  <P>  在上面的程序中,我们先定义了各种笔的初始总数,然后这些数量会在销售、采购时改变。这种程序的编写思路是随着事件,按照一定的过程来进行的。这种方法是一种“解题”的思维方式,把所有的需求,当作一个“应用题”一样来“解答”。</P>
                  <P>  可以看出,从机器语言、汇编语言到高级语言,程序设计越来越贴近人类的语言,但是它们又都有一个通病,就是它们都需要程序使用机器的思路,而不是人的思路,为什么这么说呢?那么人的思路是什么呢??</P>
                  <P>  人类认识世界的思路总是针对一个个具体的客观事物来认识,包括它的形状、大小等属性,以及行为、功能、动作等。就象一说到猫,就马上知道它是4只脚的、“喵喵”叫的,而且猫的行为动作大家也很熟悉,比如,我们说“猫抓老鼠”,大家应该马上就会在脑海中出现一个相应的图象吧。</P>
                  <P>  这时,人们突然发现,如果编写程序也采用这样的思维的话,那么将使得程序更加清晰,写起程序来也会变得更加简单了。软件工程学家便开始了坚持不懈的研究,终于创建了“面向对象”方法学,这一方法学的出现,使得软件工程又向前迈了一大步了。“面向对象”方法学其实包括:“面向对象的系统分析”、“面向对象的系统设计”、“面向对象的程序设计”……,而在本章中则主要探讨“面向对象的程序设计”。</P>
                  <P><B>  一些提示:</B></P>
                  <P>  熟悉Visaul 
                  Basic的读者,您应该记得在使用VB开发程序时,大家将一个个控件拖到界面上,然后修改它们的属性,使它们符合程序的需要,接着在这个控件的相应事件中填入代码。您想想,这不想我们儿时玩的搭积木吗,太简单了!这就是“面向对象”的程序设计给我们带来的好处呀。</P>
                  <P><B>  为了让大家对“面向对象”的程序设计有一些了解,我就再使用伪代码写一段代码,仅供大家比较。</B></P>
                  <P>  源程序:一个“面向对象”的程序示例</P>
                  <TABLE cellSpacing=0 cellPadding=5 width="100%" 
                  bgColor=#cccccc border=1>
                    <TBODY>
                    <TR>
                      <TD><PRE><CODE>
笔店
{
 铅笔;
 钢笔;
 圆珠笔;
 其它笔;
 卖出(笔种类,数量)
 {
笔种类=笔种类 - 数量;
 }
进货(笔种类,数量)
{
笔种类=笔种类 + 数量;
}
盘点()
{
打印 铅笔; // 打印出当前铅笔的库存量
打印 钢笔; // 打印出当前钢笔的库存量
打印 圆珠笔; // 打印出当前圆珠笔的库存量
打印 其它笔; // 打印出当前其它笔的库存量
 }
}
</CODE></PRE></TD></TR></TBODY></TABLE>
                  <P>  虽然,使用面向对象的程序设计方法好象更繁琐,但其逻辑结构严谨、有序,十分益于理解,而且,这里的“笔店”还可以在其它程序中使用,将大大提高开发效率。</P>
                  <P><B>  2.2 面向对象的主要术语</B></P>
                  <P><B>  传统的“面向过程”的方法学是把世界分成两个部分,分别认知:</B></P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -