1.抽象
2.封装
3.继承
没有继承会出现的问题:
举例:
多重继承
4.接口
举例:
关于下图的第四条:1.使用自定义类型实现了接口,2.再用接口变量指向自定义类型的变量(自定义类型的实例赋给接口类型);才会使得利用接口调用自定义类型(实现此接口)的方法,要不然无法直接调用接口的方法(因为没实现)
实现接口VS继承
5.多态
类似于前面接口的案例:2类结构体对象实现相同的接口,实现接口的方法不同,通过接口变量指向不同结构体变量,调用的say方法就会不同
6.类型断言(类似于java中instanceof)