《(1.41)--07_01抽象类编程基础.ppt》由会员分享,可在线阅读,更多相关《(1.41)--07_01抽象类编程基础.ppt(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、抽象类抽象类抽象类抽象类抽象类抽象类主要内容什么是抽象类抽象类的定义格式抽象类及抽象方法探讨案例抽象类抽象类什么是抽象类什么是抽象类在继承的层次结构中,每个新的子类使得类变得更加明确和具体,如果从子类向父类追溯,父类会变得更加通用和不明确。也就是说,一个父类可以非常抽象,只对类的共同行为提供规范而不实现,具体实现放在子类中完成,这就是抽象类,用abstract关键字描述。抽象类抽象类抽象类实例:抽象类实例:抽象类抽象类抽象类定义抽象类定义publicabstractclass类名修饰符abstract方法名(参数列表);抽象类中可以包含未实现的方法,称为抽象方法,这需要把abstract放在方
2、法返回值类型之前,抽象方法没有方法体。一个抽象类可以包含多个抽象方法,也可以包含已实现的方法。抽象类抽象类抽象类和抽象方法探讨抽象类和抽象方法探讨1.抽象方法不能包含在非抽象类中。如果抽象父类的子类不能实现所有的抽象方法,那么子类也必须定义为抽象类。换句话说,在抽象类扩展的非抽象子类中,必须实现所有的抽象方法。还要注意到,抽象方法是非静态的抽象类抽象类抽象类不能实例化抽象类不能实例化2.抽象类不能使用new操作符来初始化,但是仍可以定义它的构造方法,这个构造方法可以在它的子类的构造方法中被调用。例如,Circle类和Rectangle类可以调用GeometricObject的构造函数。抽象类抽
3、象类没有没有抽象方法的抽象抽象方法的抽象类类3.包含抽象方法的类一定是抽象类。但是,可以定义一个不包含抽象方法的抽象类。在这种情况下,不能使用new操作符创建该类的实例。这种类是用于定义新子类的基类。抽象类抽象类4.一个子类可以覆盖父类的方法并将它定义为abstract。这很少见,但是如果父类的方法在子类中变得无效时就会有用。在这种情况下,子类必须定义为abstract。抽象类抽象类抽象抽象类的父类可能类的父类可能是具体的是具体的5.即使子类的父类是具体的,这个子类也可能是抽象类。例如,Object类是具体的,但是它的子类,例如GeometricObject是抽象的。抽象类抽象类抽象类类型抽象类类型6.虽然不能使用new操作符从抽象类创建一个实例,但是抽象类可以看作一个数据类型。抽象类抽象类抽象类类型抽象类类型下面语句,创建一个包含GeometricObject类型数组是正确的。GeometricObjectobjects=newGeometricObject10;抽象类抽象类案例案例有关GeometricObject类、Circle类和Rectange类的案例抽象类抽象类小结小结通过本知识点的介绍熟悉抽象类、抽象方法的基本概念设计并使用抽象类