- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象量编程进阶
面向对象 封装 方法封装逻辑,类封装数据和方法。通过访问控制机制,限制对数据和方法的访问。 成员变量都声明为私有的。 对成员变量的访问都必须通过本类的方法。比如get/set方法对。 继承 类重用的两种方式:继承和组合。 组合:在一个类中包含另外一个类的对象的引用。 继承 抽取各个子类的共同特性描述为一个父类。是实现一般—特殊关系的一种机制。 一般—特殊关系:一个“特殊”类除了具有“一般”类的属性和方法之外,还具有自己特有的属性和方法。 继承的特征:从父类的角度叫做派生或扩展,从子类的角度叫继承。构造器和私有的成员不能被继承。子类和父类不同包的情况下,只能继承public和protected修饰的成员。 继承 单一继承:在Java语言中,一个子类只能有一个直接父类,而一个父类可以有多个直接子类。 单根结构:在Java语言中,Object类是所有类的父类。 继承 对父类的两种扩展方式:增加属性和方法;覆盖父类方法。 覆盖:在子类中定义一个与父类方法具有相同方法签名的方法,以实现对父类方法的改造。 覆盖 方法名和形参列表相同 返回值类型相同或子类方法的返回值类型是父类方法返回值类型的子类型。 访问权限不能比被覆盖方法更严格。 不能抛出比被覆盖方法更多的异常。 静态方法只能被静态方法覆盖,实例方法只能被实例方法覆盖。 成员变量隐藏 在子类中定义与父类成员变量同名的成员变量。从而使父类该成员变量不能被子类继承。 与方法覆盖的区别:在父类或子类中直接使用变量名访问的一定是父类或子类的成员变量,而方法覆盖则不一定。 动态绑定 在程序运行期间,JVM根据对象的类型不同,绑定不同的方法。 super 访问父类的被覆盖的方法和被隐藏的成员变量。 访问父类的构造器,且放在构造器的第一行代码。 不能同时访问本类重载的构造器和父类构造器。 this 代表当前对象的引用。 实例方法中隐式的包含一个this。 通过this访问本类重载的构造器,且放在构造器的第一行。 static 静态成员只于类有关与对象无关。 被static修饰的成员称为静态成员。 可以用来修饰成员变量和非抽象方法。 在本类中直接通过方法名和变量名来访问。在其它类中通过类名来访问。 单子模式 只产生该类的一个对象。 final 具有”不可改变”的含义。可以修饰非抽象类,非抽象方法,属性。 final修饰的实例成员变量必须显式初始化,在定义或者构造器中。 final修饰的静态成员变量必须在定义时显式初始化。 System.out.println out:是System类的PrintStream类型的静态成员变量。 println:是PrintStream的一个实例方法。 toString:如果需要打印输出自定义类的对象,则在自定义类中需要覆盖toString方法。 抽象 在父类或接口中尽量描述各个子类或实现类需要实现的功能,而不具体实现。将实现交由各个子类或实现类,根据自身的情况去实现。增强程序的灵活性和可维护性。 abstract 可以用来修饰类和方法,分别称为抽象类和抽象方法。 抽象类不能直接实例化。 抽象方法只有方法定义,没有方法体。 抽象类中也有构造器,以便子类构造器调用。 模版方法模式 在抽象父类中定义一个操作中的算法的骨架,而将一些步骤延迟到子类中实现。代表这些具体逻辑步骤的方法称为基本方法,代表算法骨架的方法称为模版方法。 角色:抽象模版角色,具体模版角色。 抽象模版角色 定义一个或多个抽象操作,以便让子类实现。这些抽象操作叫基本方法,它们是整个骨架操作的组成部分。 定义并实现了一个模版方法。它实现了整体操作的骨架,而该整体操作由一个或多个抽象方法组成。这些抽象方法的具体逻辑由子类实现。该整体操作也有可能调用一些具体方法。 具体模版角色 实现抽象父类所定义的一个或多个抽象方法。 每个抽象模版可以有任意多个具体模版角色与之对应。每个具体模版角色都可以给出这些抽象方法的不同实现,从而使得模版方法的实现各不同。 开--闭原则 一个软件实体应该对扩展开放,修改关闭。 通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求。使变化中的软件有一定的适应性和灵活性。 已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的软件系统有一定的稳定性和延续性。 接口 有两种含义 第一,概念性的,是指系统中向外界提供的所有服务。类的所有能被外界访问的方法称为类的接口。 第二,狭义的,就是interface关键字定义的接口,也称为接口类型。 接口 是方法定义和常量定义的集合,与抽象类共同组成系统的抽象层。 接口中的变量默认是public static final修饰的,必须显式初始化。 方法默认是public abstract修饰的。 接口可以继承多个接口。 类可以
您可能关注的文档
- 马克思主义政治经济南学原理.ppt
- 绿色环保的重芳烃石油溶剂在屏涂料行业的应用.ppt
- 马克思主义基本仰原理概论第八讲.ppt
- 马克思主义基本原理第四`五章江塑苏大学人文学院哲学系.ppt
- 马克思主义中南国化的历史进程和理论成果.ppt
- 马头涌官立小学从误执解到理解.ppt
- 马蹄足畸争形及其他畸形.ppt
- 马哲经典精课件上.ppt
- 买卖双方的义务及知违约责任.ppt
- 马长生-全国心脏病蓝介入论坛-如何减少医务人员的辐射量pdf版,以后上传.ppt
- 澜起科技(688008)公司2024年财务分析研究报告.doc
- 锦江在线(600650)公司2024年财务分析研究报告.doc
- 经纬恒润(688326)公司2024年财务分析研究报告.doc
- 康冠科技(001308)公司2024年财务分析研究报告.doc
- 乐鑫科技(688018)公司2024年财务分析研究报告.doc
- 康德莱(603987)公司2024年财务分析研究报告.doc
- 京新药业(002020)公司2024年财务分析研究报告.doc
- 建新股份(300107)公司2024年财务分析研究报告.doc
- 健盛集团(603558)公司2024年财务分析研究报告.doc
- 江苏神通(002438)公司2024年财务分析研究报告.doc
文档评论(0)