抽象方法、抽象类、接口

文章详细介绍了抽象方法、抽象类和接口在面向对象编程中的概念和特点。抽象方法无实现,用于定义类的行为特征;抽象类包含抽象方法,非抽象子类需实现所有抽象方法;接口则更为纯粹,仅定义行为约束,实现多态。此外,文章还提到了适配器设计模式,用于解决接口实现类需要实现过多方法的问题。
摘要由CSDN通过智能技术生成

1、抽象方法:

目的

        类的行为特征需要定义方法来进行描述,对于无法确定实现方式的方法可以写成抽象方法。

抽象方法特点:

  • 没有方法体
  • 抽象方法必须被abstract修饰
  • abstract 返回值类型 方法名称(参数列表);

2、抽象类

  • 当一个类中需要包含抽象方法的时候,就必须定义为成抽象类

抽象类特点:

  • 抽象类必须被abstract修饰
  • 抽象类可以继承抽象类
  • 非抽象类继承抽象类必须实现抽象类中所有的抽象方法

注意:

  •  抽象类是普通类的功能扩充,抽象类中可以定义抽象方法

3、接口

        当一个抽象类里面全是抽象方法的时候,可以把该类设计为接口

目的:

  • 抽象类的非抽象子类必须实现抽象类所有的抽象方法,不够灵活。
  • 接口是对行为的约束,可以写一个接口让有需求的类去实现接口中的抽象方法。

接口特点:

  • 接口中主要是用来定义抽象方法,对行为进行约束
  • 接口会默认为接口中的变量加上public static  final,即全局常量
  • 接口会默认为接口中的方法加上public abstract
  • 接口中的方法访问权限写与不写都是public,不写也不是default而是public
  • 接口只能别的接口继承
  • 接口只能被类实现

NOTE:

1、共有的属性和行为可以抽取到父类中--抽共性

2、子类都相同的行为可以在父类中设计为普通方法

3、子类都各不相同的行为可以在父类中设计为抽象方法,同时将父类设计为抽象类

4、一部分类具有的行为一部分类没有的行为可以设计为接口,有需求就去实现改接口

5、类只能单继承但是可以多实现,往往都是继承一个父类实现多个接口

NOTE:

适配器设计模式:

        问题:接口实现类需要实现所有的接口,太多了!

        解决:可以设计一个无法被实例化的抽象类对接口中所有的抽象方法进行空实现,这样的类被称为xxxxAdapter,作为中间类。让真正的实现类继承中间类,重写需要用的方法,由于中间类是个抽象类,需要实现它所有的抽象方法,但是中间类一个抽象类方法都没有,所以实现类继承抽象中间类(xxxxAdapter)选择一个自己想重写的方法重写就行了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值