编程思想基础学习(接口)

  • 抽象类和抽象方法
    包含抽象方法的类叫做抽象类
  • 接口
    在接口中的每一个方法确实都只是一个声明。方法自动是public的
    这里先声明一种设计模式:策略模式
    创建一个能够根据所传递的参数对象的不同而具有不同行为方法被称为策略设计模式。
    下面用一个例子说明:
public class Processor {
    public String name(){
        return  getClass().getSimpleName();
    }
    Object process(Object input){
        return input;
    }
}

class upCase extends Processor{
    String process (Object input){
        return ((String)input).toUpperCase();
    }
}
class DownCase extends Processor{
    String process (Object input){
        return ((String)input).toLowerCase();
    }
}


class Splitter extends Processor{
    String process (Object input){
        return Arrays.toString(((String) input).split("  "));
    }
}

class Apply{
    public static  void process (Processor p , Object s){
        System.out.println("Using Process "+ p.name());
        System.out.println(p.process(s));
    }
    static String str = "Disagreement with beliefs is by definition incorrect";
    public static void main(String[] args) {
        process(new upCase(),str);
        process(new DownCase(),str);
        process(new Splitter(),str);
    }
}
DISAGREEMENT WITH BELIEFS IS BY DEFINITION INCORRECT
Using Process DownCase
disagreement with beliefs is by definition incorrect
Using Process Splitter
[Disagreement with beliefs is by definition incorrect]
  • 使用接口的原因
  • 先看例子:
  • `public interface CanFight {
    void figth();
    }
    interface CanSwim{
    void swim();
    }
    interface CanFly{
    void fly();
    }
    class ActionCharacter{
    public void fight(){}
    }

class Hreo extends ActionCharacter implements CanFight,CanFly,CanSwim{
public void swim(){}
public void fly(){}
public void fight(){}
public void figth(){}
}`
实现了多重继承,其中使用接口的核心原因在于:
为了能够向上转型为多了基类型 (以及由此带来的灵活性,在继承中也描述过继承的主要原因:其最重要的方面是用来表现新类和基类之间的关系,这种关系可以用“新类是现有类一种类型”加以概括)
防止客户端程序员创建该类的对象,并确保者仅仅是创建了一个接口。

那么我们应该怎样使用接口或者抽象类呢?

如果创建不带任何方法定义和成员变量的基类那么就应该选择接口,

接口可以继承接口

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值