计算机光盘
软件与应用
软件
设计开发
CmueDSfwrn
plctosoptrCotaeadApaini
2100年第1期1
Jv中抽象类与接口的比较aa
王丽丽
(州空军学院基础部,江苏徐州徐
210200)
摘要:在Jv语言中,象类(brtlsaa抽asaa)和接1(neaetccs2itf)是支持抽象类定义的两种机制。正是由于这两种机rc制的存在,才赋予了Jv强大的面向对对象的功能。抽象类和接口之间存在着很多相似性,但是又有本质的区别。对于初aa学者而言,在使用时很难界定到底采用者两种机制的哪一种。本文具体分析了这两个概念的相同点和相异处。关键词:aaJv;类;继承;抽象类;接口中图分类号:T32P1文献标识码:A文章编号:10—59(00104—2079921)1-180
ThmprsnosrcassnnefcsiaaeC
oaiofAbtatClsedItraeJvan
WangLlii
(onaieatnouhuArocoleXzo210,hn)FudtnDprometfzoiFreClg,uhu20CiXe0a
Abtatntvnug,ebtccs(satlsadiefeieaeitspowehnsfesc:eaaagaehsatlsatccsnta(tfc)soup ̄tomcaididrIhJltarabra)nrcnrmsenasatcasIibcueteeiecfteetomehns,ieeojc.rneaapweflfaue.tebtcl.tSeasxsneoscaiigvstbetitdJvoruetrswenrshthwmsthoeBe
atatcassaditraebsrclseecs出eeaemaysmiaiisbeeaeesnildfeecsotresvrdifcttennnnfrrnilrt,uttrsetairne.Frsatr.eyfulodfeiehriiteedwhenusihoftoetomehnssTlSdtidalihesmePitadtedfeecsauhswohnniewhcshwcaim.lealnaysstanirnebotteetieOnh
cncpoe ̄.
KewodsJvaClsIhrtneAbsrclsItraeyr:a;a;neiac;tata;nefcscs
抽象类在Jv
程序设计中有时需要创建超类,aa该超类只定义了一个为所有子类共享的一般形式,至于细节则交给每一个子类去实现。这种超类没有任何具体的实例,只具有一些抽象的概念,这样的类称为抽象类。在面向对象的概念中,所有的对象都是通过类来描述的。但是,并不是所有的类都是用来描绘对象的。如果一个类中没有包含足够多的信息来描述一个具体的对象,这样的类就是抽象类。抽象类往往用来表征在对
问题领域进行分析、设计时得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。抽象类就是包含一个抽象方法的类,抽象方法就是一个只有声明而没有实现的方法。抽象类与普通类之间的差别就只在两处:是比普通类的定义中多出一个抽象方法,普通类的所有定义在抽象类中都可以使用。二是在类的声明处需要用asrc声明为btat抽象类,如:asrccas类名{;抽象方法也必须用btatls)asrc来声明,如asrculc返回类型方法名(。判btatbtatpbi)断一个类是否是抽象类,关键在于确定该类是否包含一个或多个抽象方法,无论该抽象方法时本身具有的还是从别的类继承过来
一
、
一
为是一个纯粹的抽象类。抽象类中包含抽象方法,那如果在类中全部都是抽象方法时,则用接口表示。接口是抽象方法和常量的集合。接口中的访问权限永远都是pbi。与抽象类一样,接口ulc不能使用nw关键字创建一个接口实例。可以使用itrae关enefc键字声明一个接口,明方式:访问控制修饰符]itrae接声[nefc口名称。个类虽然只能继承一个父类,但是…个类可以实现多个接口,使用接口完成多继承的能力,:ls如Cas类名ipeetmlmns接口A接口B)一个新的接口用etns,f。xed关键字去继承一个已有的接口,实现接口的多继承,如:itrae接口Aetns接nefcxed口1,接口2){。个抽象类可以实现多个接口,但是一个接口不能继承一个抽象类。一个接口是允许同时继承多个接口,但是一个类是不允许继承多个类。如果抽象方法同名,则在予类中只需要实现一次