为什么要用抽象类来实现接口呢

抽象类实现接口的用法

一般情况下一个类实现一个接口需要重写这个接口的所有方法。

public interface project {
    void paint();
    void putColor();
    void setPostition();
    void setsize();
}

public class test implements project {
    @Override
    public void paint() {
        
    }

    @Override
    public void putColor() {

    }

    @Override
    public void setPostition() {

    }

    @Override
    public void setsize() {

    }
}

但当我只想使用这个接口的某一个方法或者多个方法,其他不需要的方法除外时(专注于setSize),需要怎么做呢?

第一步:这时候我们可以使用一个抽象类实现这个接口,并重写你除了你需要的方法以外的方法。

public abstract class adapter implements project {
    @Override
    public void paint() {

    }

    @Override
    public void putColor() {

    }

    @Override
    public void setPostition() {

    }
}

第二步:我们我们需要一个类来继承这个抽象类

public class coder extends adapter {
    @Override
    public void setsize() {

    }
}

这样我们就可以在coder类里面专注于编写setSize()了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
抽象类接口是面向对象编程中的两个重要概念,它们在实现上有一些区别,导致抽象类可以实现接口,而接口不能继承抽象类。下面我来详细解释一下原因: 1. 抽象类的特点: 抽象类是一种不能被实例化的类,它只能作为其他类的基类来使用。抽象类可以包含抽象方法和非抽象方法。抽象方法是没有具体实现的方法,需要子类去实现。非抽象方法则有具体的实现,子类可以直接继承和使用。由于抽象类可以包含非抽象方法,所以它可以提供一些默认的实现,子类可以选择性地覆盖这些方法。 2. 接口的特点: 接口是一种纯粹的规范,它定义了一组方法的签名,但没有具体的实现接口中的所有方法都是抽象方法,子类必须实现接口中定义的所有方法。接口可以被多个类同时实现,一个类可以实现多个接口。 由于抽象类可以包含非抽象方法的具体实现,所以它可以实现接口中定义的方法。这样做的好处是,当一个类同时需要提供一些默认的实现和遵循某个接口时,可以使用抽象类实现接口中的方法,并在抽象类中提供默认的实现。子类可以选择性地覆盖这些方法,或者直接继承使用。 而接口不能继承抽象类的原因是,接口是一种纯粹的规范,它只定义了方法的签名,没有具体的实现接口的目的是为了实现类提供一种规范,要求实现类必须实现接口中定义的所有方法。如果接口可以继承抽象类,那么就会导致接口中包含了具体的实现,违背了接口的设计初衷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值