Day8-6 接口的定义与实现

接口的定义与实现

普通类:只有具体实现

抽象类:具体实现和规范(抽象方法)都有

接口:只有规范,自己无法写方法。只有约束,约束和实现分离:面向接口编程

 

接口就是规范,定义的是一组规则,提现了现实世界中“如果你是。。。。则必须能。。。”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你是好人,则必须能干掉坏人。如果你是坏人,则必须欺负好人。

接口的本质是契约,就像我们人间的法律一样。定制好后大家都遵守

OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(c++,java,c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。

声明类的关键字是class,声明接口的关键字是interface

接口的作用

  1. 约束

  2. 定义一些方法,让不同的人实现

  3. 方法都是public abstract

  4. 属性都是public static final

  5. 借口不能被实例化,接口中没有构造方法

  6. implements可以实现多个接口

  7. 接口的实现类必须重写接口中的方法

 
package com.oop.demo09;
 ​
 //interface接口定义的关键字
 public interface UserService {
     //接口中的所有定义的方法其实都是抽象的 public abstract
     void add(String name);
 ​
     void delete(String name);
 ​
     void update(String name);
 ​
     void query(String name);
     //接口都需要有实现类
int AGE = 99;
     //接口中定义的属性都是常量
 }
 package com.oop.demo09;
 ​
 public interface TimeService {
     void timer();
 }
package com.oop.demo09;
 //implements类实现接口
 //实现了接口的类,就必须重写接口中的方法
 //利用接口实现多继承
 public class UserServiceImpl implements UserService,TimeService{
     @Override
     public void add(String name) {
 ​
     }
 ​
     @Override
     public void delete(String name) {
 ​
     }
 ​
     @Override
     public void update(String name) {
 ​
     }
 ​
     @Override
     public void query(String name) {
 ​
     }
 ​
     @Override
     public void timer() {
 ​
     }
 }

 

 
posted @ 2022-11-18 15:25  actadams68  阅读(37)  评论(0)    收藏  举报