新疆软件开发

本站首页 软件开发 成功案例 公司新闻 公司简介 客服中心 软件技术 网站建设
  您现在的位置: 新疆二域软件开发公司 >> Java技术 >> 文章正文

JAVA中的抽象类型的一些概念


        对于用户自定义的复合数据类型,需要由程序员自已定义一些方法,对该类型的实例进行所需的操作。在早期许多程序设计语言中,复合数据类型及其相关操作的代码之间没有特殊的联系。比如,用户定义日期Date类型.并定义一个方法tomorrow(),它接收一个Date类型的参数,据此推断其后继日是哪一天。程序中定义变量的代码和tomorrow()方法的代码可以是分离的。

     绝大多数程序设计语言都预定义了一些基本数据类型,并相应定义了对那些类型的实例执行的操作。比如,对整型、实型等数值类型,有加、减、乘、除等操作,对逻辑类型,有逻辑与、逻辑或、逻辑非等操作。
    有些编程语言改进了这种处理方式,允许数据类型说明和欲对该类型变量进行操作的代码说明之间有较紧密的联系。通常把数据类型和对其进行的操作聚集在一起构成一种抽象数据类型。严格地说,抽象数据类型是指基于一个逻辑类型的数据类型以及这个类型上的一组操作。每一个操作由它的输入、输出定义。一个抽象数据类型的定义并不涉及它的实现细节,这些实现细节对于抽象数据类型的用户是隐藏的。
    给出了Date类型和tomorrow操作之间建立的一种联系。
    程序:
    public ClaSS Date{
    private int day,month,year;
    Date(int i.int j.int k){
    day=i:
    month=j;
    year=k;
    }
    Date(){
    day=1;
    month=m 1;
    year=1998;
    }

    Date (Date d){
    day=d.day;
    month=d.montht
    year=d.year;
    }
    public Date tomorrow(){
    Date d=newDate(this);
    d.day++l
    if(d.day>d.daysInMonth()){  //d8yslnMonth()返回每个月中不同的天数
    d.day=1;
    d.month++;
    if(d.month>12)f
    d.month=1:
    d.year++;
    }
    }
    return d;
    }    .
    }
         在Java中把名为tomorrow的代码段叫做方法,也可以称为成员函数。
    在有些程序设计语言中,tomorrow()方法的定义或许会要求带一个参数,例如:
    void tomorrow(Date d);
    像Java这种支持抽象数据类型的语言在数据和操作间建立了较严格的联系,即把方法与数据封装在一个类中。在程序中不是把方法描述为对数据的操作,而是把数据看作是它知道如何修改自己,然后要求数据对它自己执行操作。相应的语句如下:
    Data d=new Date(20,11,1998);//已初始化的date对象
    d.tomorrow();
    这种写法表明,数据自己执行操作,tomorrow()方法作用于变量d。要访问Date类的域,可使用点操作符“.”:
    d.day
    它的意思是“d所指的Date对象中的day域”。类似地,d.tomorrow()是指“d所指的Date对象中的tomorrow()方法调用”,epx,-J"d对象进行tomorrow操作。
    把方法看作是数据的特性,而不把数据与方法分开,这种思想是建立面向对象系统过程中的重要步骤。

作者:未知 | 文章来源:zxbc | 更新时间:2008-4-20 22:36:11

  • 上一篇文章:

  • 下一篇文章:

  • 相关文章:
    JAVA开发的6个实践的例子
    java语言开发程序中的几个例子大家看看
    了解java开发语言在软件开发中的几个误区
    如何才能使用Java实现内部领域的特定语言
    Java开发学习小心使用Date以及Time类
    sun最近修补了一部分java的安全补丁
    Java程序员应该了解那些开源协议
    java性能优化的一些见解
    解析c#语言和java语言最相似的地方
    GUI JAVA应用程序是怎样做出来的?
    软件技术
    · 开发语言
    · Java技术
    · .Net技术
    · 数据库开发
    最新文章  
    ·j2se 嵌入式脚本抓取引擎
    ·JAVA开发的6个实践的例子
    ·JBuilder7 / Weblogic7开发
    ·JAVA中的抽象类型的一些概
    ·java语言开发程序中的几个
    ·了解java开发语言在软件开
    ·如何才能使用Java实现内部
    ·Java开发学习小心使用Date
    ·Java程序员应该了解那些开
    ·java性能优化的一些见解
    ·介绍JDK5.0一些collection
    ·基础学习:java中使用存储
    ·解析c#语言和java语言最相
    ·Java语言学习:jAVA中 的多
    ·Java是不是应该增加新特性
    关于我们 | 软件开发 | 下载试用 | 客服中心 | 联系我们 | 友情链接 | 网站地图 | 新疆电子地图 | RSS订阅
    版权所有 © 2016 新疆二域软件开发网 www.k8w.net All Rights Reserved 新ICP备14003571号
    新疆软件开发总机:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆乌鲁木齐北京中路华联大厦A-5C 邮编:830000