导图社区 抽象类
JavaScript抽象类知识总结,在Java中abstract是抽象的意思,可以修饰类,成员方法,abstract修饰类,这个类就是抽象类;修饰方法,这个方法就是抽象方法。
JavaScript之多态知识总结,这是同类的对象,执行同一个行为,会表现出不同的行为特征。本图总结了它的访问特点(多态侧重行为多态)、优势等内容。
JavaScript之接口(interface)知识总结,接口是用来被类实现(implements)的,实现接口的类称为实现类。实现类可以理解成所谓的子类。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
抽象类
是什么?
1.在Java中abstract是抽象的意思,可以修饰类,成员方法
2.abstract修饰类,这个类就是抽象类;修饰方法,这个方法就是抽象方法。
3.注意事项:
1.抽象方法只有方法签名,不能声明方法体。如:
1.public abstract class Abstract { public abstract String name(){ } }
错误格式
2.public abstract class Abstract { public abstract String name(); }
正确格式
2.一个类的方法被定义成抽象方法,那么这个类也必须声明成抽象类。否则报错。
3.一个类如果继承了抽象类,那么这个类必须重写完抽象类的全部抽象方法, 否则这个类也必须定义成抽象类。
使用场景
1.抽象类可以理解成不完整的设计图,一般作为父类,让子类来继承。
2.当父类知道子类一定要完成某些行为,但是某个子类该行为的实现又不同,于是该父类就把该行为定义成抽象方法的形式,具体实现交给子类完成。此时这个类就可以声明成抽象类
特征和注意事项
1.类有的成员(成员变量、方法、构造器)抽象类都具备
2.抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
3.一个类继承了抽象类必须重写完抽象类的全部抽象方法, 否则这个类也必须定义成抽象类。
4.不能用abstract修饰变量、代码块、构造器。
5.最重要的特征:得到了抽象方法,失去了创建对象的能力(有得有失)
案例:
需求: * 某加油站推出了2种支付卡,一种是预存10000的金卡,后续 * 加油享受8折优惠,另一种是预存5000的银卡,后续加油享受8.5折优惠。 * * 请分别实现2种卡片进入收银系统后的逻辑,卡片需要包含主人名称,余额, 支 付功能。 分析实现: * 创建一个卡片父类:定义实现包括主人名称,余额,支付功能(具体实现交给子类)。 * 创建一个白金卡类:重写支付功能,按照原价的8折计算输出。 * 创建一个银行卡类:重写支付功能,按照原价的8.5折计算输出。
1.父类(抽象类)
4.测试类
3.子类二
2.子类一
5.结果
final和abstract是什么关系
1.互斥关系
2.abstract定义的抽象类作为模块让子类继承,final定义的类不能被继承。
3.抽象方法定义通用功能让子类重写,final定义的方法子类不能重写。