Go对比其他语言新特性6(抽象、封装、继承、接口、多态、类型断言)

1.抽象

image

2.封装

image
image

image
image

3.继承

没有继承会出现的问题:

image
image
image

举例:

image

image
image
image

image
image
image
image

多重继承

image
image

4.接口

举例:

image

image
image

关于下图的第四条:1.使用自定义类型实现了接口,2.再用接口变量指向自定义类型的变量(自定义类型的实例赋给接口类型);才会使得利用接口调用自定义类型(实现此接口)的方法,要不然无法直接调用接口的方法(因为没实现)

image
image
image
image
image

实现接口VS继承

image
image
image

5.多态

类似于前面接口的案例:2类结构体对象实现相同的接口,实现接口的方法不同,通过接口变量指向不同结构体变量,调用的say方法就会不同
image
image

image
image
image

6.类型断言(类似于java中instanceof)

image
image

原文地址:https://www.cnblogs.com/ltc0504/p/15292731.html