面向对象 接口

为什么使用接口

要求实现防盗门的功能
        门有“开”和“关”的功能,锁有“上锁”和“开锁”的功能
        将门和锁分别定义为抽象类
        将门定义为抽象类,锁定义为接口
        防盗门继承门,实现锁的接口

接口的特性
– 接口不可以被实例化
– 实现类必须实现接口的所有方法
– 实现类可以实现多个接口
– 接口中的变量都是静态常量

为什么需要接口?接口和抽象类的区别?
– 接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类迚行约束。
全面地专业地实现了:规范和具体实现的分离。
– 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须能…”的思想。 如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你好人,则必须干掉坏人;如果你是坏人,则必须欺负好人。
– 接口的本质是契约,就像我们人间的法律一样。制定好后大家都遵守。
– 项目的具体需求是多变的,我们必须以不变应万变才能从容开发,此处的“不变”就是“规范”。因此,我们开发项目往往都是面向接口编程!

接口相关规则
– 接口中所有方法都是抽象的。
– 即使没有显式的将接口中的成员用public标示,也是public访问类型的
– 接口中变量默认用 public static final标示,所以接口中定义的变量就是全
局静态常量。
– 可以定义一个新接口,用extends去继承一个已有的接口
– 可以定义一个类,用implements去实现一个接口中所有方法。
– 可以定义一个抽象类,用implements去实现一个接口中部分方法。

▪如何定义接口?
–格式:
▪[访问修饰符] interface 接口名 [extends 父接口1,父接口2…] {
–常量定义
–方法定义
//总是public static final
//总是:public abstract
▪}
▪如何实现接口
–子类通过implements来实现接口中的规范
–接口不能创建实例,但是可用于声明引用变量类型。
–一个类实现了接口,必须实现接口中所有的方法,并且这些方法只能是public的。
–Java的类只支持单继承,接口支持多继承


▪ C++支持多重继承,Java支持单重继承
▪ C++多重继承的危险性在于一个类可能继承了同一个方法的不同实
现,会导致系统崩溃。
▪ Java中,一个类只能继承一个类,但同时可以实现多个接口,既可
以实现多重继承的效果和功能,也避免的多重继承的危险性。
▪ class Student extents Person implements Runner,Flyer
▪ {…}
▪ 注意:extends 必须位于implements之前

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值