第五章、面向对象2.pptVIP

  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文档。上传文档
查看更多
第五章、面向对象2,面向对象五大原则,面向对象五个基本原则,面向对象,面向对象程序设计,面向对象编程,什么是面向对象,java面向对象,c面向对象程序设计,js面向对象编程

第五章 ——面向对象2 思考 一个类能产生对象,这个对象继承该类的所有函数和变量。如图。 假如下面的不是对象而是类,那么这些类中又能有什么样的联系吗? 继承的思想 当一个类与其他类有方法或变量上的联系时,它就可以从那个类把这些方法或变量继承下来。 例如:动物——狗、猫、鸭子(叫)。 好处:方法和变量的共享,简化新类的写法。 用extends关键字来实现继承。 演示Student。 注意! Java只支持单继承,不允许多重继承。(只能从一个类那里继承:一父多子。) 可以有多层继承,即一个类可以继承某一个类的子类,如类B继承了类A,类C又可以继承类B,那么类C也间接继承了类A。class B extends A,class C extends B。 子类继承父类所有的成员变量和成员方法,但不继承父类的构造方法。在子类的构造方法中可使用语句super(参数列表) 调用父类的构造方法。 注意:子类对象的产生时必须去调用父类对象的构造方法。演示SuperClass。假如都有子父类都有构造方法则先调用父类再调用子类。 思考 假如要求定义一个类为Student,它只能有school变量,其他name,age变量要从其它类继承,最后要产生一个student对象,名字为John,芳龄18,学校为“SCH”。并且把这些信息打印出来。 演示TestPerson 覆盖父类的方法 问题:在子类调用一个父类的方法,假如子类拥有一些父类不曾拥有的变量,那么在调用父类方法时会打印不出来这些子类拥有的变量。 可以在子类再定义一个与父类那个方法同名的方法,并且使得其功能更强大,最后对象调用的是那个子类的新方法,所以就把父类覆盖。 注意:覆盖的方法必须和被覆盖方法具有相同的方法名称、参数列表和返回值类型。 强烈建议从上面复制过来。 演示覆盖父类的方法。 演示superclass。 final关键字 1、用final修饰的类不能被继承 2、final标记的方法不能被子类覆盖 3、final标记的变量是常量,只能赋值一回。 在java中可以用public static final来作为全局常量的标记,并放在一个类中定义。 有些时候,一些常量的值过大,在以后的程序中不便去书写,所以可以定义一个final类型的量给这个常量。以后调用这个名就可以:例如 public static final long x=455455L. 抽象类 java中可以定义一些不含方法体的方法,它的方法体的实现交给该类的子类根据自己的情况去实现,这样的方法就是抽象方法,包含抽象方法的类就叫抽象类。(演示抽象类) 抽象类必须用abstract关键字来修饰;抽象方法也必须用abstract来修饰。 抽象类不能被实例化,也就是不能用new关键字去产生对象。 抽象方法只需声明,而不需实现。 含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。 注意:含有抽象方法的类肯定是抽象类,但是抽象类中所有的方法不一定都是抽象的。 有些方法没有实现的必要,但是却有定义的必要,例如汽车类都有加速这个方法,但是具体不同品牌的汽车对象加速的方法具体是不一样的。 以后会把抽象类和多态在一起综合考虑。 注意:抽象类A中有个方法是抽象的,那么B要继承A,就必须继承这个抽象方法,所以B也得为abstract,或者在B中把这个抽象方法给覆盖掉。 接口 抽象类中的所有方法不一定全都是抽象的,假如抽象类中的所有方法都是抽象的,那么这个类可以用接口来定义,接口是特殊的抽象类。 接口中包含抽象方法和常量值。 用interface来定义接口。 接口里的方法都是抽象方法,变量都是:public static final标识的。 注意 1、接口可以多重实现(一个类可以实现多个接口,好比一个类的多继承) 2、接口中声明的变量属性只能为:public static final的,可以不写。 3、接口中的方法只能为public。 4、接口可以继承其他接口,并且添加新的属性和抽象方法。 5、可以定义一个类,用implements关键字来实现接口中的所有方法。 6、可以定义一个抽象类,同样用这个关键字来实现接口中定义的部分方法。 接口使得类不必再受单一继承的限制。 演示接口1. 一个类在继承父类的同时,可以实现一个或多个接口,这时,extends关键字必须位于implements前面。 例:class Student extends Person implements Runner //类中必须实现Runner的所有抽象方法。 Class Bird implements Runner,Flyer 注意:在这里必须实现Runner和Flyer的所有方法。 演示一个类实现多个接

文档评论(0)

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

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

1亿VIP精品文档

相关文档