第4章__Java面向对象编程.ppt

  1. 1、本文档共110页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 多态 例:Shapes.java 三个类Circle、Square、Triangle均有draw( )方法和erase( )方法,但不同类的方法的具体操作其实并不相同,实现了多态。 draw() erase() draw() erase() draw() erase() * 2. 多态的应用 class Father { void speak() { System.out.println(I am Father!); } } class Son extends Father { void speak() { System.out.println(I am Son!); } } public class Check { public static void main (String args[ ]) { Son x=new Son(); x.speak(); } } 例4-13:方法的重构 * 例4-14:方法的重载 class Father { void speak() { System.out.println(I am Father!); } void speak(String s) { System.out.println(I like+ +s+.); } } ?public class Check0 { public static void main (String args[ ]){ Father x=new Father(); x.speak(); x.speak(music); } } * 3. 方法复盖的规定 子类复盖父类方法时,子类方法的返回类型应当与被复盖方法的类型相同 子类不能复盖父类的final和private方法; 子类不能就实例方法去复盖父类的static方法。子类的static方法可复盖父类的static方法,但不能复盖父类的实例方法; 子类方法复盖父类方法时,子类方法的访问权限修饰符不能严于父类方法的访问权限修饰符; 子类若要引用父类中的被复盖方法,应使用“super.方法”的方式。 * 4. 方法重载说明 用同一个名字来表示不同的方法。这些方法同名的原因,是因为它们的最终功能和目的都相同,但由于在完成同一功能时,可能遇到不同的具体情况,所以需要定义含不同的具体内容的方法。 方法名必须相同(是同一类中定义同名方法的情况)。 方法的参数必须不同(同名不同方法是靠不同形式的参数列表来区分,包括形式参数的个数、类型、顺序的不同)。 返回类型可以不同,但不是重载的标志。 利用“重名”现象提高程序的抽象度和简洁性。 * 5. 构造方法与多态 public class Employee { protected String name; protected double salary; protected double bonus; public Employee(String name) { this.name = name; initSalary(); } protected void initSalary() { salary =3500; bonus = 500; } public String toString() { return { + name= + name + + , salary= + salary + , bonus= + bonus + }; } public static void main(String[] args) { Manager manager = new Manager(“王明飞); System.out.println(manager.toString()); } } class Manager extends Employee { public Manager(String name) { super(name); } protected void initSalary() { salary = 5500; bonus =800; } } * 6. 绑定 方法重载--前期绑定(编译时绑定) 方法覆盖----后期绑定(运行时绑定)。 * 例子:银行业务 要求:处理简单帐户存取款、查询 面向对象的分析(OOA) 对象模型抽象:银行帐户 对象模型分析: 余额、存、取、查 面向对象的设计(OOD)

文档评论(0)

共享文档 + 关注
实名认证
内容提供者

二级建造师持证人

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

领域认证该用户于2023年10月07日上传了二级建造师

1亿VIP精品文档

相关文档