- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
java第6讲继承与多态
-- 继承和多态 内容提要 识别类之间的关系 类的继承和派生 替换 覆盖(override) 多态 抽象类和抽象方法 派生类的构造过程 识别类间的关系 对Java程序而言,设计孤立的类是比较容易的, 难的是正确设计类和类之间的关系。 同现实世界一样,在软件世界里,类和对象是彼 此相关的,它们与其他对象作用和反作用,描述它 们在应用中相互关系使应用尽可能地接近现实世界。 简单而言,依赖关系是一种局部使用关系。A类使用B类,则说明A类依赖于B类 图示如下: A类在两种情况下使用B类 1、A类负责构造B类的实例,即A类使用B类的构造器。 代码示例: class CarFactory { public Car MakeNewCar() {??????? return new Car();??? } } A类在两种情况下使用B类 2、A类使用B类实例的方法(服务) 代码示例: class Person {??? public void drive2Office(Car myCar) {??????? myCar.run();??? } } 对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。 例如: (1)客车和乘客 (2)公司与员工关系 代码示例: class Bus { private Passenger[ ] passengers = new Passenger[ 30]; ??? private int count = 0; public void getOnPassenger(Passenger aPassenger) {??????? passengers[count++] = aPassenger;??? } } 聚合是指一个对象拥有另一个对象,仅强调“拥有”。 组合是指一个对象是另一个对象的一部分,强调“整体和部分且两者不可分割”,两个对象具有相同的生命周期,它是一种特殊聚合。 两者的差别就好比创立一间公司时您可以不要雇员(拥有),但创造一个人时您却不能丢掉了他的心(不可分割)。 ? ? 代码示例: class Bus { private Engine engine; private Body body = new Body( ); private Wheel[ ] wheels = new Wheel[8]; public Engine GetEngine( ) {??????? return engine;??? } public void SetEngine( Engine engine) { this.engine = engine; } } 泛化就是一般化、概括或总结。父类是对子类的泛化,另一方面看,子类是对父类的继承。 在类中由abstract修饰,且没有方法体的方法,就是抽象方法。 含有抽象方法的类,即为抽象类(抽象类必须用abstract修饰)。 抽象类不能实例化对象,只能用于派生子类。 我们也可以将一个没有任何抽象方法的类声明为abstract,避免由这个类产生任何的对象。 在Java中定义的每一个类都来源于一个叫Object的基类,并且继承该类的所有非私有的属性和方法,因此Java中所定义的每一个类都有Object所提供的一些最基本的特征。 Java中其他所有的类都直接或间接地为Object的子类。一个类如果没有声明继承某个类,则默认继承Object类。 Object基类常用方法 为了便于管理大型软件系统中数目众多的类,解决类命名冲突的问题,Java引入了包(package)。 package语句必须是文件中的第一条语句。也就是说,在package语句之前,除了空白和注释之外不能有任何语句。 如果不加package语句,则指定为缺省包或无名包。 包对应着文件系统的目录层次结构。 在package语句中,用“.”来指明包(目录)的层次。 在当前目录下生成包 javac –d . Test.java 在指定目录下生成包 javac –d E:\JavaLesson Test.java 引入包中的单个类。 import java.io.File; 引入整个包。
您可能关注的文档
最近下载
- 《语文(基础模块)下册》(中职)教案 第24课 跨媒介阅读与交流(二).pdf VIP
- 《磨床安全操作规程》.docx VIP
- 青2013G02图集-标准图集.docx VIP
- 第36届全国中学生物理竞赛决赛理论考试试题与解答.pdf VIP
- DB45_T1900-2018_芒果成龄果树管理技术规程_广西壮族自治区 conv.docx VIP
- 软件测试-全套PPT课件.pptx
- 类风湿关节炎情景模拟教学案例范文.docx VIP
- 2025广西公需科目培训考试答案(90分)——“一区两地一园一通道”建设;人工智能时代的机遇与挑战(1).pdf VIP
- 化学核心素养引领单元主题学习之初探.docx VIP
- 钻床安全操作规程[共1页].doc VIP
文档评论(0)