面向对象编程进阶.ppt

面向对象编程进阶.ppt

ID:51488889

大小:99.50 KB

页数:35页

时间:2020-03-24

面向对象编程进阶.ppt_第1页
面向对象编程进阶.ppt_第2页
面向对象编程进阶.ppt_第3页
面向对象编程进阶.ppt_第4页
面向对象编程进阶.ppt_第5页
资源描述:

《面向对象编程进阶.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、面向对象封装方法封装逻辑,类封装数据和方法。通过访问控制机制,限制对数据和方法的访问。成员变量都声明为私有的。对成员变量的访问都必须通过本类的方法。比如get/set方法对。继承类重用的两种方式:继承和组合。组合:在一个类中包含另外一个类的对象的引用。继承抽取各个子类的共同特性描述为一个父类。是实现一般—特殊关系的一种机制。一般—特殊关系:一个“特殊”类除了具有“一般”类的属性和方法之外,还具有自己特有的属性和方法。继承的特征:从父类的角度叫做派生或扩展,从子类的角度叫继承。构造器和私有的成员不能被继承。子类和父类不同包的情况下,只能继承pub

2、lic和protected修饰的成员。继承单一继承:在Java语言中,一个子类只能有一个直接父类,而一个父类可以有多个直接子类。单根结构:在Java语言中,Object类是所有类的父类。继承对父类的两种扩展方式:增加属性和方法;覆盖父类方法。覆盖:在子类中定义一个与父类方法具有相同方法签名的方法,以实现对父类方法的改造。覆盖方法名和形参列表相同返回值类型相同或子类方法的返回值类型是父类方法返回值类型的子类型。访问权限不能比被覆盖方法更严格。不能抛出比被覆盖方法更多的异常。静态方法只能被静态方法覆盖,实例方法只能被实例方法覆盖。成员变量隐藏在子类

3、中定义与父类成员变量同名的成员变量。从而使父类该成员变量不能被子类继承。与方法覆盖的区别:在父类或子类中直接使用变量名访问的一定是父类或子类的成员变量,而方法覆盖则不一定。动态绑定在程序运行期间,JVM根据对象的类型不同,绑定不同的方法。super访问父类的被覆盖的方法和被隐藏的成员变量。访问父类的构造器,且放在构造器的第一行代码。不能同时访问本类重载的构造器和父类构造器。this代表当前对象的引用。实例方法中隐式的包含一个this。通过this访问本类重载的构造器,且放在构造器的第一行。static静态成员只于类有关与对象无关。被static

4、修饰的成员称为静态成员。可以用来修饰成员变量和非抽象方法。在本类中直接通过方法名和变量名来访问。在其它类中通过类名来访问。单子模式只产生该类的一个对象。final具有”不可改变”的含义。可以修饰非抽象类,非抽象方法,属性。final修饰的实例成员变量必须显式初始化,在定义或者构造器中。final修饰的静态成员变量必须在定义时显式初始化。System.out.printlnout:是System类的PrintStream类型的静态成员变量。println:是PrintStream的一个实例方法。toString:如果需要打印输出自定义类的对象,则

5、在自定义类中需要覆盖toString方法。抽象在父类或接口中尽量描述各个子类或实现类需要实现的功能,而不具体实现。将实现交由各个子类或实现类,根据自身的情况去实现。增强程序的灵活性和可维护性。abstract可以用来修饰类和方法,分别称为抽象类和抽象方法。抽象类不能直接实例化。抽象方法只有方法定义,没有方法体。抽象类中也有构造器,以便子类构造器调用。模版方法模式在抽象父类中定义一个操作中的算法的骨架,而将一些步骤延迟到子类中实现。代表这些具体逻辑步骤的方法称为基本方法,代表算法骨架的方法称为模版方法。角色:抽象模版角色,具体模版角色。抽象模版角

6、色定义一个或多个抽象操作,以便让子类实现。这些抽象操作叫基本方法,它们是整个骨架操作的组成部分。定义并实现了一个模版方法。它实现了整体操作的骨架,而该整体操作由一个或多个抽象方法组成。这些抽象方法的具体逻辑由子类实现。该整体操作也有可能调用一些具体方法。具体模版角色实现抽象父类所定义的一个或多个抽象方法。每个抽象模版可以有任意多个具体模版角色与之对应。每个具体模版角色都可以给出这些抽象方法的不同实现,从而使得模版方法的实现各不同。开--闭原则一个软件实体应该对扩展开放,修改关闭。通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求。使

7、变化中的软件有一定的适应性和灵活性。已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的软件系统有一定的稳定性和延续性。接口有两种含义第一,概念性的,是指系统中向外界提供的所有服务。类的所有能被外界访问的方法称为类的接口。第二,狭义的,就是interface关键字定义的接口,也称为接口类型。接口是方法定义和常量定义的集合,与抽象类共同组成系统的抽象层。接口中的变量默认是publicstaticfinal修饰的,必须显式初始化。方法默认是publicabstract修饰的。接口可以继承多个接口。类可以实现多个接口。接口不可实例化,没

8、有构造器。不可创建接口对象,但是可以定义接口类型的引用,持有任何实现类的对象。接口的合并子接口继承多个父接口。实现类实现多个接口。名字冲突在接口合并时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。