java教程 第五章 面向对象编程的高级概念.pptVIP

java教程 第五章 面向对象编程的高级概念.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对象转型 一个基类的引用类型变量可以“指向”其子类的对象 . 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)。 父类引用指向子类对象时,该引用只能访问子类包含的其父类的成员变量和方法, ?而对于子类的成员变量和方法,该引用不能访问。 * 第五章 面向对象编程的高级概念 面向对象的基本概念——封装 对象B 私有数据 公有方法 公有数据 对象A 私有数据 公有方法 封装 隐藏类的实现细节 迫使用户去使用一个接口去访问数据 使代码更好维护 RfjjTest.java 面向对象的基本概念——继承 继承是父类和子类之间共享数据和方法的机制 通过继承,子类自动拥有父类的所有成员 (成员变量和方法) 共性部分 继承部分 个性部分 父类 子类 继承 这种方法是在维护和可靠性方面的一个伟大进步。如果在Employee类中进行修改,那么, Manager类就会自动修改,而不需要程序员做任何工作,除了对它进行编译。 注—对一个继承的方法或变量的描述只存在于对该成员进行定义的类的API文档中。当浏览探索一个(子)类的时候,一定要检查父类和其它祖先类中的继承成员 类的继承——继承的实现 继承使得子类可以利用父类中定义的方法和变量,就像它们属于子类本身一样。 class Employee { String name; public void showName() { System.out.println(name); } } class Manager extends Employee { String department; public void showInfo() { showName(); System.out.println(“Manager of ” + department); } } 实验 设计一个父类 Computer,包含name属性和getInfo方法,然后设计一个子类Laptop继承自Computer, 然后在另一类Test中创建Laptop类的对象调用name属性和getInfo 方法。 改写Laptop类加入一个name属性和一个getInfo方法,然后在Test中再次调用,看看结果。 面向对象的基本概念——多态 多态:不同的对象收到同一个消息可产生完全不同的效果。 多态的效果 : 用户发送一个通用的消息,而实现的细节则由接收对象自行决定。 多态的作用: 增强了操作的透明性、可理解性和可扩展性。 增强了软件的灵活性和重用性。 程序在执行期间(非编译期间)判断所引用对象的实际类型,根据其实际类型调用其方法。 多态--方法的重载 方法的重载是指一个类中可以定义有相同的的名字,但参数不同的多个方法。调用时,会根据不同的参数选择对应的方法。 参数不同:参数类型不同或者参数个数不同。 构造方法也可以重载。 多态--方法的重写 在子类中可以根据需要对从基类中继承来的方法进行重写。 重写方法必须和被重写方法具有相同方法名称,参数列表和返回类型。 重写方法不能使用比被重写方法更严格的访问权限。 例子:BaseSon.java 实验 编写一个类Shape类,具有一个draw方法,派生出三个子类 Circle(圆), Triangle(三角形), Rectangle(矩形),子类中重写了父类的方法。 编写一个测试类Test, 具有一个方法test ,该方法的参数类型为Shape , 然后在此方法体中调用Shape的draw方法. 在TestShape中添加main方法,调用Test 的test方法,随意生成一个Shape子类的实例 ,并将该实例当做参数传入。 this关键字 this可以看成是一个变量,他的值是当前对象的引用。 在类的方法定义中使用的this关键字代表使用该方法的对象的引用。 有时使用this可以处理方法中成员变量和参数重名的情况。 例子:TestThis.java super关键字 在java类中使用super来 引用父类的引用 例子:TestSuper.java Object类 Object类是所有java类的根基类 如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类。 equals方法 J2SE中提供了一些类,如String,Date;重写了object的equals方法,调用这些equals,如x.equals(y),当x和y所引用的对象是同一类对象且属性内容相等时(并不一定是相同对象),返回true否则返回false; 可以根据需要在自定义类中重写equals方法。 例子:TestEquals.java Final关键字 Final的变量值不能被 改变 Final的方法不能 被重

文档评论(0)

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

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

1亿VIP精品文档

相关文档