- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《面向对象的概念
1.面向对象的概念 面向对象(Object-Oriented)=对象(Object)+类(Class)+ 继承(Inheritance)+通信(Communication) 如果一个软件系统是使用这样4个概念设计和实现的,则将该软件系统称为面向对象的。下面给出每个概念的具体定义。 1.1 对象 从一般意义上讲,对象是现实世界中一个实际存在事物,它可以是有形的(比如一辆汽车),也可以是无形(比如一项计划)。对象构成世界的一个独立单位,它具有自己的静态特征和动态特征。静态特征即可用某种数据来描述的特征,动态特征即对象所表现的行为或对象所具有的功能。 现实世界中的任何事物都可以称作对象,它是大量的、无处不在的。不过,人们在开发一个系统时,通常只是在一定的范围(问题域)内考虑和认识与系统目标有关的事物,并用系统中的对象抽象地表示它们。所以面向对象方法在提到“对象”这个术语时,既可能泛指现实世界中的某些事物,也可能专指它们在系统中的抽象表示,即系统中的对象。我们主要对后一种情况讨论对象的概念,其定义是:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务构成。 属性和服务,是构成对象的两个主要因素,其定义是:属性是用来描述对象静态特征的一个数据项。服务是用来描述对象动态特征(行为)的一个操作序列。 一个对象可以有多项属性和多项服务。一个对象的属性和服务被结合成一个整体,对象的属性值只能由这个对象的服务存取。 在有些文献中把对象标识(OID)列为对象的另一要素。对象标识也就是对象的名字,有“外部标识”和“内部标识”之分。前者供对象的定义者或使用者用,后者为系统内部惟一的识别对象。(怎么感觉这点跟android开发里面的id是一样的,在某个文件下有编程人员定义的所有属性的id,并且是唯一的,一般不允许更改,属于系统内部分配。) 另外需要说明以下两点:第一点是,对象只描述客观事物本质的与系统目标有关的特征,而不考虑那些非本质的与系统目标无关的特征。这就是说,对象是对事物的抽象描述。第二点是,对象是属性和服务的结合体。二者是不可分的。而且对象的属性值只能由这个对象的服务来读取和修改,这就是后文将讲述的封装概念。 根据以上两点,也可以给出如下对象定义:对象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用,它是一组属性和有权对这些属性进行操作的一组服务的封装体。 系统中的一个对象,在软件生命周期的各个阶段可能有不同的表示形式。例如,在分析与设计阶段是用某种OOD/OOA方法所提供的表示法给出比较粗略的定义,而在编程阶段则要用一种OOPL写出详细而确切的源程序代码。这就是说,系统中的对象要经历若干演化阶段,其表现形式各异,但在概念上是一致的,即都是问题域中某一事物的抽象表示。 1.2 类 把众多的事物归纳划分成一些类是人类在认识客观世界时经常采用的思维方法。分类所依据的原则是抽象,即:忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。例如:马、树木、石头等等都是一些抽象概念,它们是一些具有共同特征的事物的集合,被称作类。类的概念使我们能对属于该类的全部个体事物进行统一的描述。例如:“树具有树根、树干、树枝和树叶,它能进行光合作用”,这个描述适合所有的树,从而不必对每棵具体的树进行一次这样的描述。 在OO方法中,类的定义是:类是具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。 在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。类的作用是定义对象。比如,程序中给出一个类的说明,然后以静态声明或动态创建等方式定义它的对象实例。 类与对象的关系如同一个模具与用这个模具铸造出来的铸件之间的关系。类给出了属于该类的全部对象的抽象定义,而对象则是符合这种定义的一个实体。所以,一个对象又称作类的一个实例(instance),而有的文献又把类称作对象的模板(template)。所谓“实体”、“实例”意味着什么呢?最现实的一件事是:在程序中,每个对象需要有自己的存储空间,以保存它们自己的属性值。我们说同类对象具有相同的属性与服务,是指它们的定义形式相同,而不是说每个对象的属性值都相同。 读者可以对照非OO语言中的类型(type)与变量(variable)之间的关系来理解类和对象,二者十分相似,都是集合与成员、抽象描述与具体实例的关系。多数情况下,类型用于定义数据,类用于定义对象。有些面向对象的编程语言,既有类的概念也有类型概念。比如在C++中,用类定义对象,用类型定义对象的
您可能关注的文档
最近下载
- 第4课 认识编码 课件 黔科版信息科技四年级上册.ppt
- 漫漫自考路,悠悠自学情.docx VIP
- 2025年国培卫健、粤医云3月临床医学、全科医学答案.docx VIP
- 苏教版五年级上册数学试题第二单元测试卷-2(无答案).docx VIP
- 2024年中考数学压轴题型(浙江专用)压轴题06 相似相关压轴题(教师版).docx VIP
- 统编版语文三年级上册习作猜猜他是谁 公开课一等奖创新教学设计.docx VIP
- PSP版波斯王子启示游戏攻略.doc VIP
- 2025年中考数学压轴题专练:二次函数综合(面积问题)(含解析).docx VIP
- 2009~2012社保缴费基数(全国).pdf
- 2025年中考数学压轴题专练:二次函数与圆综合.docx VIP
文档评论(0)