java课件chap5章节.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文档。上传文档
查看更多
开闭原则:一个类在扩展性方面应该是开放的,而在更改方面应该是封闭的。 替换原则:子类应当可以替换父类的使用,并出现在父类能够出现的任何地方,这主要是靠子类继承父类的所有属性和行为来完成的。 依赖原则:在进行业务设计时,与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是依赖于具体类。 单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。在构造对象时,将对象的不同职责分离至两个或多个类中,确保引起该类变化的原因只有一个。其带来的好处:提高内聚、降低耦合。 5.7对象转型和类的设计原则 ——类的设计原则 继承是构成子类型关系的一种重要途径,类A继承类B,则类型A是类型B的子类型。两个对象引用之间并不是可以任意相互赋值的,它们之间赋值遵循如下规则: 同个类的不同对象引用之间可以任意相互赋值; 子类的对象引用可以直接赋值给父类的对象引用; 父类的对象引用也可以赋值给子类的对象引用,但是有条件的,其条件为:只有当父类的对象引用已引用了子类的对象时,通过强制类型转换,才能将父类对象的引用赋值给子类对象的引用;如果一个父类对象的引用未指向一个子类对象,那当通过强制类型转换将它赋值给一个子类对象的引用时,运行时出错。 没有继承关系的不同类的对象引用之间不能相互赋值。 5.7对象转型和类的设计原则 ——对象转型 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 馋死 尚辅网 / 抽象性、封装性、继承性和多态性称为面向对象的四大特性。通过前面的学习,对前两个特性有了一定程度的理解,本章将继续探讨后两个特性,即继承性和多态性。 第5章 继承与多态 类的继承; 类成员的隐藏与重载; 多态性; Object类和 Class类; 抽象类与接口; 对象克隆; 对象转型和类的设计原则 本章要点 Java中的继承分类的继承和接口的继承两种,类的继承只支持单继承;而接口的继承可以是多重继承。 5.1 类的继承 [Modifiers] class SubClassName extends SuperClassName { //ClassBody } 子类的定义子类也是类。 它的定义形式与一般类的定义形式极其相似,其格式为: 其中,Modifiers是修饰符,可以使用的修饰符与前一章中所介绍的一样;SubClassName是子类的名称;extends是用于实现继承的关键字,当类的定义中有extends关键字时,表示当前定义的类继承于别的类,是别的类的子类;SuperClassName是父类名;ClassBody是子类的类体。 5.1 类的继承——子类的定义 class Point{ //点类 protected int x,y; //点坐标 public Point(){} //无参构造方法 public Point(int xx,int yy){setPoint(xx,yy);} public void setPoint(int m,int n){x=m;y=n;} //设置标位置 public int getX(){return x;} public int getY(){return y;} } class Circle extends Point{ //定义圆类 private double radius; //radius为圆的半径 public Circle(int x,int y,double r){this.x=x;this.y=y;setRadius(r);} public void setRadius(double r){radius=r;} //设置圆的半径 public double getRadius(){return radius;} //获取圆的半径 public double getArea(){return 3.1415*radius*radius;} //获取圆的面积 5.1 类的继承——子类的定义示例 继承于点 类的圆类 public String toString() { returnPosition(+x+,+y+)Radius=+radius;} } public class CircleTest{ public static void main(String[] args){ Circle c=new Circle(50,50,10); System.out.println(c.toString()); c.setPoint(100,100

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档