[理学]java编程思想教案-2011上本部-6-last-liyue.pptVIP

[理学]java编程思想教案-2011上本部-6-last-liyue.ppt

  1. 1、本文档共59页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[理学]java编程思想教案-2011上本部-6-last-liyue

* * 前期绑定 v.s. 后期绑定 绑定时间 代表语言 前期绑定 在程序执行前 C语言 后期绑定 在运行时根据对象的类型 Java语言 绑定:将一个方法调用同另一个方法主题关联起来; static方法和final方法(private方法属于final方法); 可以编写只与基类打交道的程序代码,即,发送消息给某个对象,让该对象去断定该如何做事情; 在编译时,编译器不需要获得任何特殊信息就能进行正确的调用; * 将改变的事物与未变的事物分离开来; * 方法覆盖 覆盖一个方法时,子类方法的权限不能低于超类方法; 私有方法不能覆盖; * * 域与静态方法的多态问题 后期绑定 多态 * * 基类和导出类的Upcast 不能覆盖部分是基类的:例如成员(属性)和静态方法; 能覆盖部分是导出类的:例如非静态方法; * 构造器和多态 初始化顺序 编译时先初始化主类的基类的静态定义(包括静态块),再初始化主类的; 执行主类的main方法 声明主类对象 先依次初始化主类的基类的非静态定义和构造器,再初始化主类的; 声明其他类对象 先依次初始化其他类的基类的静态定义、非静态定义和构造器,再初始化其他类; 构造器 实际是static方法; * 构造器和多态(2) Meal(餐) Bread(面包) Cheese(芝士) Lettuce(生菜) Lunch(中餐) PortableLunch(简易中餐) * 清理(1) Characteristic(个性) Characteristic() void dispose() Description(描述) Description() void dispose() LivingCreature(生物) Characteristic Description LivingCreature() void dispose() Animal(动物) Characteristic Description Animal() void dispose() Amphibian(两粞动物) ) Characteristic Description Amphibian() void dispose() * 清理(2) * 清理(3) * 构造器内部的多态方法 * 协变返回类型 允许返回更具体的Whear类型; * 接口(1) 抽象类 包含一个或多个抽象方法; Abstract void f(), 抽象方法仅有声明而没有方法体。 接口 全部方法都是抽象方法; Interface替代了class; Implements替代了extends; 接口的方法默认都是抽象和public; 提供一组对类需求的描述,这些类要遵从接口描述的统一格式进行定义; * 接口(2) 导出类必须全部覆盖抽象类中的抽象方法,否则也是导出类; * * 完全解耦 Processor String name(); Object process(); Upcase Object process(); Downcase Object process(); Splitter Object process(); * 接口: 1)向上转型; 2)避免创建该接口的对象; 一个类只能继承一个超类,却能实现多个接口; 实现一个接口时,方法必须是public; * 接口的扩展—继承实现 避免需要组合的不同接口使用相同方法名; * 工厂模式(1) 简单工厂模式,又称静态工厂方法模式 定义一个用于创建对象的接口; 1) 工厂类角色:是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现; 2) 抽象产品角色:一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现。 3) 具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。 工厂方法模式 * 以简单工厂模式来改造突然有钱人坐车的方式 现在突然有钱人只需要坐在车里对司机说句:“开车”就可以了。 //抽象产品角色 public interface Car{ public void drive(); } //具体产品角色 public class Benz implements Car { public void drive() { System.out.println(Driving Benz); } } public class Bmw implements Car { public void drive() { System.out.println(Driving Bmw); } } ...奥迪啥的就不写了 //工厂类角色 public class Driver{ //

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档