继承和实现
1.接口 interface
接口是一种统一标准。为保证之后的代码的实现的方便和保证其规范性,将所要用到的方法进行一个初步的定义。之后在具体情况下具体实现。
(1)接口的特性:
1.属性:所有属性都是默认的静态的(唯一的)常量
2.方法:方法默认为抽象的,没有方法体
因为接口只是一个对于后续类的规范的定义,起到告知有什么的作用,后续的类来实现时都需要重写所有方法,所以不需要方法体。
2.类
类是具有相同、相似特征属性,行为方式,功能的一类事物的表述
与对象相比,类是抽象的,他只是一个描述;
与接口相比,类是具体的,他里面的方法逻辑是已经写好的
3.接口的实现
因为接口的方法没有方法体,且接口的属性都是静态的,也就是可以直接用接口调用,所以接口创建对象是完全没有用也没有意义的。因此接口不能创建对象。
想要实现接口,必须要有一个类来实现他
-
类实现接口的过程
1.创建一个类 关键字:implements 实现接口
2.重写接口中所有的方法
这样的话就可以创建这个类的对象,然后去对其进行其他操作
4.继承和实现
继承 extends:如果多个类的部分功能和属性相同,那么就可以抽象出一个类来,将相同部分放到父类中。
实现 implements:如果多个类的目标都是一样的,但是处理的方法不同,那么就可以定义一个接口,然后在写具体的类的时候写出自己的处理方法来实现这个目标。
Eg:
假设我们现在要写一个游戏,游戏中有很多英雄,他们都有血和蓝,也都攻击和防御力等。这个时候我们就可以把这些共性给提取出来,然后写一个父类。这样的话因为子类到父类有自动转型,利用这个我们在写一些方法的时候的适用性就会大大提高,减少代码的工作量。
假设现在有小明,张三,李四三个人。小明是一个高中生,张三是一个临近毕业的大学生,李四是一个大公司的老板。现在他们都有一个核心目标:想要定居北京。这个时候他们都要往这个方向努力,但是对于每个人来说最好的实现方法又是不一样的。
小明想要定居北京,最好的就是考一所北京的大学,然后考虑如何留在北京;张三最好在北京找份工作,看下具体的政策然后看工作几年可不可以有资格留下;李四的话直接考虑在北京开分公司就行。
他们三个的目标都是留在北京,但是具体实现这个目标方法不一样,这个时候我们就可以写一个接口,目标就是留在北京,然后创建类的时候让他们自己去确定具体的方法就行。这样要是之后有说明海归人士等也想留在北京,那他们还能有许许多多不同的具体实现方法,只要核心目标一致就可以实现这个接口。
总体来说,父类就是为了提取共性;接口就是确认标准,建立目标;
子类就是可以继承父类的属性方法;类就是为了实现接口的方法,目标;