新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 关于 XML 的一般性技术讨论,提供 XML入门资料 和 XML教程
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML基础 』 → XML中面向对象的概念 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 17149 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: XML中面向对象的概念 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     落地尘埃 帅哥哟,离线,有人找我吗?狮子座1983-8-21
      
      
      等级:大一(猛啃高等数学)
      文章:23
      积分:149
      门派:XML.ORG.CN
      注册:2006/11/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给落地尘埃发送一个短消息 把落地尘埃加入好友 查看落地尘埃的个人资料 搜索落地尘埃在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看落地尘埃的博客楼主
    发贴心情 XML中面向对象的概念

    刚开始接触XML,以为XML作为传输数据的标准文档,也许应该有面向对象的概念,但就目前我接触到的资料来看,似乎XML中并没有面向对象的概念存在,不知道大家是否在其它地方看到过XML中具有面向对象的概念?

       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/11/20 13:21:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XML基础 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客2
    发贴心情 
    以下是面向对象的一些基础知识,怎看和XML也拾不上关系吧:)

    1、面向对象的基本概念

          (1)对象。
          对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。

          (2)对象的状态和行为。
          对象具有状态,一个对象用数据值来描述它的状态。
          对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。
          对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中

          (3)类。
          具有相同或相似性质的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象。
          类具有属性,它是对象的状态的抽象,用数据结构来描述类的属性。
          类具有操作,它是对象的行为的抽象,用操作名和实现该操作的方法来描述。

          (4)类的结构。
          在客观世界中有若干类,这些类之间有一定的结构关系。通常有两种主要的结构关系,即一般--具体结构关系,整体--部分结构关系。

          ①一般——具体结构称为分类结构,也可以说是“或”关系,或者是“is a”关系。
          ②整体——部分结构称为组装结构,它们之间的关系是一种“与”关系,或者是“has a”关系。

          (5)消息和方法。
          对象之间进行通信的结构叫做消息。在对象的操作中,当一个消息发送给某个对象时,消息包含接收对象去执行某种操作的信息。发送一条消息至少要包括说明接受消息的对象名、发送给该对象的消息名(即对象名、方法名)。一般还要对参数加以说明,参数可以是认识该消息的对象所知道的变量名,或者是所有对象都知道的全局变量名。

          类中操作的实现过程叫做方法,一个方法有方法名、参数、方法体。


    2、面向对象的特征

          (1)对象唯一性。
          每个对象都有自身唯一的标识,通过这种标识,可找到相应的对象。在对象的整个生命期中,它的标识都不改变,不同的对象不能有相同的标识。

          (2)分类性。
          分类性是指将具有一致的数据结构(属性)和行为(操作)的对象抽象成类。一个类就是这样一种抽象,它反映了与应用有关的重要性质,而忽略其他一些无关内容。任何类的划分都是主观的,但必须与具体的应用有关。

          (3)继承性。
          继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。

          继承性是面向对象程序设计语言不同于其它语言的最重要的特点,是其他语言所没有的。

          在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
          在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
          在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。
          采用继承性,提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重用性。

          (4)多态性(多形性)
          多态性使指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。
          多态性允许每个对象以适合自身的方式去响应共同的消息。
          多态性增强了软件的灵活性和重用性。

    3、面向对象的要素

          (1)抽象。
          抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节。

          类实现了对象的数据(即状态)和行为的抽象。

          (2)封装性(信息隐藏)。
          封装性是保证软件部件具有优良的模块性的基础。
          面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。
          对象是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。面向对象的封装比传统语言的封装更为清晰、更为有力。

          (3)共享性
          面向对象技术在不同级别上促进了共享
          同一类中的共享。同一类中的对象有着相同数据结构。这些对象之间是结构、行为特征的共享关系。
          在同一应用中共享。在同一应用的类层次结构中,存在继承关系的各相似子类中,存在数据结构和行为的继承,使各相似子类共享共同的结构和行为。使用继承来实现代码的共享,这也是面向对象的主要优点之一。
          在不同应用中共享。面向对象不仅允许在同一应用中共享信息,而且为未来目标的可重用设计准备了条件。通过类库这种机制和结构来实现不同应用中的信息共享。

          4.强调对象结构而不是程序结构

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/11/20 16:01:00
     
     atan19a 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:9
      积分:102
      门派:XML.ORG.CN
      注册:2006/9/22

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给atan19a发送一个短消息 把atan19a加入好友 查看atan19a的个人资料 搜索atan19a在『 XML基础 』的所有贴子 访问atan19a的主页 引用回复这个贴子 回复这个贴子 查看atan19a的博客3
    发贴心情 
    1。XML是什么?(不要说是可扩展的标记语言之类的话)
    2。XML可以做什么?怎么做?(不需要回答,只需要列举出一个简单的例子即可)


    1: XML,是用来描迷数据的.
    2:举一个例子说明:有A数据库 B数据库,他们之间的标准不同,不能互传.那么你可以把数据放在XML中,而后就可以让A,B之间可以共同传输数据了.

    概念问题....

    ----------------------------------------------
    [url=http://www.code19a.com]XML|19a|hardy[/url] 我自己的小家 开站时间不长,欢迎PR在3以上的朋友想做连接

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/11/20 16:12:00
     
     落地尘埃 帅哥哟,离线,有人找我吗?狮子座1983-8-21
      
      
      等级:大一(猛啃高等数学)
      文章:23
      积分:149
      门派:XML.ORG.CN
      注册:2006/11/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给落地尘埃发送一个短消息 把落地尘埃加入好友 查看落地尘埃的个人资料 搜索落地尘埃在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看落地尘埃的博客4
    发贴心情 
    谢谢楼上的发言,让我对面向对象和XML的概念有了更清晰的认识。不过我想补充的是,我提出上面的问题是出于对下面这个问题的思考:
        在XML中,数据是通过元素和属性进行描述的。由于在元素中还可以定义子元素,因此可以通过元素和子元素组织结构化的数据,而属性则只能存储简单的字符串信息。当我们编写一个XML文档时,一般的原则是将关心的数据存储在元素中,而将一些次要的补充信息存储在属性中。比如,用XML描述某商品,对于消费者而言,关注的是商品的用途和价钱等信息,而不会关注商品的产地和厂商等信息。因此从消费者的角度一个杯子可用XML描述如下:
    <PRODUCT name=”cup” producer=”corporation”>
      <USAGE>
        Drink coffee
      </ USAGE >
      <PRICE>
        2$
      </PRICE>
    </PRODUCT>
        实际上杯子的生产商本质上也是一个结构化的信息,除了公司名称还有地址等信息,用XML可以说明如下:
    <PRODUCER>
      <NAME>Corporation</NAME>
      <ADDRESS>Shanghai, Nanjing Road</ADDRESS>
    </PRODUCER>
        但是如果产品有了质量问题,要追究生产商责任的时候,对于同一个商品的关注点就从用途和价钱,转移到商品的生产商的详细信息。显然,上面描述杯子的XML文档只能提供关于生产商的很简单的信息,要从中获取生产商的地址是不可能的。因此当关注点不一样时,原有的XML文档就不能满足改变后的应用需求。而且由于生产商存储在属性中,因此想在原有的基础上进行扩展也是很困难的。
        要使同一份XML文档适应更多的需求,一种解决的方法就是把除了name这样本身不具备结构的次要信息放在属性中,其它的信息都存储在子元素中,这样随着应用需要的改变可以方便的增加信息。但是,可以想象,随着不断的扩展子元素,必然会使原有的XML文档内容变得十分冗杂,当再返回去处理简单的需求时会有很多冗余的数据,结构也很混乱。
        因此我想,如果能在属性中存储对象的实例,然后用一般的原则编写XML文档。当元素中的信息不能满足当前需求时,则通过属性获取对象的实例,访问相关的信息。这样既能保证XML文档的简洁性,又能满足各种应用的需求。在网上可以找到不少用XML描述面向对象概念的实例,但是没有看到过在属性中存储对象的技术。不知道在XML中有没有类似的实现方法?
        由于刚开始接触XML,所以对XML很多的概念还不清楚,请各位多多指教!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/11/21 13:04:00
     
     lqz858 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:0
      积分:59
      门派:XML.ORG.CN
      注册:2006/11/9

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lqz858发送一个短消息 把lqz858加入好友 查看lqz858的个人资料 搜索lqz858在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lqz858的博客5
    发贴心情 
    谢谢楼上的发言
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/11/21 18:42:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XML基础 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客6
    发贴心情 
    1、把消费者关注的是商品的用途和价钱等信息,存在A.XML

    2、把消费者不会关注商品的产地和厂商等信息,存在B.XML

    3、A与B之间通过一个属性关联起来,如:
    A,
    <PRODUCT key=”001”>
    ...
    </PRODUCT>
    B,
    <PRODUCER key=”001”>

    ...
    </PRODUCER>
    这样一来,既能保证XML文档的简洁性,又能满足各种应用的需求。当关注点转移的时候,可以通过key访问相关信息。

    当然,不仅限于以上方法。可能以上说法还很抽象,如果数据庞大,最好不用XML来当数据库,转做中间件。

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/11/22 8:42:00
     
     落地尘埃 帅哥哟,离线,有人找我吗?狮子座1983-8-21
      
      
      等级:大一(猛啃高等数学)
      文章:23
      积分:149
      门派:XML.ORG.CN
      注册:2006/11/20

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给落地尘埃发送一个短消息 把落地尘埃加入好友 查看落地尘埃的个人资料 搜索落地尘埃在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看落地尘埃的博客7
    发贴心情 
    这个方法也有考虑过,是个解决的方案。
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/11/22 12:31:00
     
     mrdeng 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:63
      门派:XML.ORG.CN
      注册:2005/12/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给mrdeng发送一个短消息 把mrdeng加入好友 查看mrdeng的个人资料 搜索mrdeng在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看mrdeng的博客8
    发贴心情 
    ok,ding
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/12/9 17:41:00
     
     hjx_221 帅哥哟,离线,有人找我吗?
      
      
      威望:7
      等级:博士一年级
      文章:4607
      积分:24021
      门派:XML.ORG.CN
      注册:2004/8/30

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给hjx_221发送一个短消息 把hjx_221加入好友 查看hjx_221的个人资料 搜索hjx_221在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看hjx_221的博客9
    发贴心情 
    ok,
    学习之中

    ----------------------------------------------
    初从文,三年不中;后习武,校场发一矢,中鼓吏,逐之出;遂学医,有所成。自撰一良方,服之,卒~ 
    http://hjx221.blogger.org.cn/

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/12/11 11:40:00
     
     huanghuamou 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:0
      积分:55
      门派:XML.ORG.CN
      注册:2006/12/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给huanghuamou发送一个短消息 把huanghuamou加入好友 查看huanghuamou的个人资料 搜索huanghuamou在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看huanghuamou的博客10
    发贴心情 
    个人理解xml就是放数据用的,用于不同数据库之间的数据交换使用,至于数据的格式对与否用DTD/Schema来校验,如果有样式输出的话,用xsl来规定输出的格式,就是xml+schema+xls的方式了,还在学习中了,不知道理解的是否正确了
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/12/11 20:06:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML基础 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/13 21:45:51

    本主题贴数13,分页: [1] [2]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    125.000ms