- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
925上溯造型
一、编程思想:(三)闭开原则
闭:对程序的修改关闭。
开:对扩展开放,也是对其他程序的使用开放。
3、闭开原则的真正含义:当客户的需求发生改变之后,要求程序员不允许修改源程序,在原有程序的基础上进行平滑的扩展(就是横向扩展),为了减少继承的关系链。
可以平滑的扩展一个类型,也可以平滑的扩展一个方法。
重载技术可以实现闭开原则。
二、里氏代换原则:凡是超类可以出现的地方,子类就一定可以出现。
这个原则为上溯造型准备的
例子:父类是马,黑马和白马都是其子类。设计一个方法,实现人骑马。
class Ma class baiMa extends Ma class heiMa extends Ma class person void Q Ma m System.out.println 人骑马 ; class UseMain public static void main String args[] person p new person ;
baiMa m new baiMa ;
p.Q m ; 运行结果:人骑马
改进上面的程序,实现哪个人骑什么颜色的马。
class Ma private String color;
Ma String c color c; String getColor return color; class baiMa extends Ma baiMa String c super c ; class heiMa extends Ma heiMa String c super c ; class person private String name;
person String n name n; String getName return name; void Q Ma m System.out.println getName +骑的是+m.getColor +的马 ; class UseMain public static void main String args[] person p new person 张三 ;
baiMa m new baiMa 白色 ; p.Q m ; 运行结果:张三骑的是白色的马。
三、1、将子类对象赋值给父类对象.sup父类,sub子类
本类对象的字符串表述格式:this.toString 结果是:类名@+hash码十六进制
如果在程序中出现SupClass sup new SubClass ;
将子类对象赋值给父类对象,所得到对象是这样的一个对象——它是一个编译是为父类对象,但运行却是一个子类对象。具体特征如下:
① 被声明为父类对象
② 拥有父类属性
③ 占用子类的内存空间
④ 子类方法覆盖父类的方法时,此时对象调用的是子类的方法;否则,自动调用继承父类的方法。
这个对象既不是父类对象,也不是子类对象。当我们用到它的方法时,把它看成子类对象,若用到它的属性时,把它看成父类对象。它是一个占用父类属性,而使用子类方法的对象,至于到底是什么对象得根据声明来看,它应算是父类对象,但拥有子类方法。
2、上溯造型:
定义:就是可以将子类对象赋值给超类对象,看上去像父类的对象拥有的是父类的成员变量。但是调用的却是子类的方法。这个方法是重构或者是继承自父类而来的方法。从而可以完成自顶向下的调用过程。
方法的动态调用:自底向上 自顶向下——将代码具体实现细节隐藏起来(实现了封装的动态属性的隐藏)。由抽象层的对象调用应用层方法。
例:实现了动态绑定。体现了封装性,隐藏了方法体内容。一个类——图形编辑器,要求画出三角形、平行四边形和矩形。
class SupClass //图纸 public void sj public void px public void jx class SubClass extends SupClass //由子类完成代码的实现 public void sj for int i 0;i 5;i++ for int j 0;j i;j++ System.out.print * ; System.out.println ; public void px for int i 0;i 5;i++ for int j 0;j i;j++ System.out.print ; System.out.println * * * * * ; public void jx for int i 0;i 3;i++ for int j 0;j 5;j++ System.out.print * ; System.out.println ; class UseSupAndSub public static void main String
您可能关注的文档
最近下载
- 医用氧生产工艺规程.doc VIP
- 200吨汽车吊书说明书.pdf VIP
- 0.中国中铁建筑施工典型异常工况安全处置工作指引宣贯材料.pptx VIP
- 2025年河北唐山市路南区专项选聘教师168人笔试备考题库及答案解析.docx VIP
- HanbellRC系列半封闭螺杆压缩机产品样本-RC系列.PDF VIP
- 15J401 钢梯标准图集.pptx VIP
- 山东科学技术版劳动实践指导手册六年级第2课整理与收纳居室整理与清洁学会消毒 教案.docx VIP
- 技嘉主板H610M S2 DDR4 (rev.1.1)用户手册简体中文(版本 1001).pdf
- 2025年河北唐山市路南区选调教师30人笔试备考试题及答案解析.docx
- 2024单簧管协奏曲《帕米尔之音》演奏技巧分析5300字.docx VIP
文档评论(0)