类与接口

什么是类?什么是接口?

  如果你不是一个编程人员,你听到类应该认为就是类别,类型。接口应该就是那种插口跟插孔要能匹配的一种标准。其实我觉得有时候编程跟生活很像,也许就是生活的一种映射。

  我们生活中一般是物以类聚,人以群分。其实编程也跟生活一样,要有这种思想,否则生活就比较零散。那换到我们的代码也是一样的,写出来的代码就比较零散。那有人可能说,有些编程语言没有面向对象的特性,怎么按类分呢。如果真这么认为,那说明面向对象的思想基本还没有在自己的脑海中形成(哎,有点说道自己了)。

  那到底什么是类呢?接口又怎么理解?

  那咱们先说类吧。所谓类,在有面向对象设计的编程语言里面一般都是class,那么class翻译过来是班级(或者班)的意思,为什么不是type呢?type不是更能说明类型吗?其实我也觉得type挺合适......但是我们我们想一想,class就像一个班级一样把具有相同行为和特征属性的事物放到一个班(级),似乎比较形象。毕竟编程是为生活服务对吧。你这样理解的话,似乎比较合乎我们生活中的思维。毕竟是物以类聚,人以群分吗。那也就是说我们把一些具有相同特征属性和相同行为的事物(班级中的每一个个体)抽象成一类(class),那么这每一个个体(实体对象)都具有相同的特征属性和行为。那么到编程中就是具有相同的字段(属性(C#中属性和字段不一样))和方法。

  那接口呢?

  说起接口那生活中处处是接口。比如我们最常用的USB线,那就是一个接口线,现在只要是个手机基本都是通用的USB。比如水龙头接口,水龙头坏了只是换水龙头,不可能把管子也换了。那说明什么,其实接口就是一种通用标准,你只要符合这种标准,拿来就能用。你只要是两孔插头,随便找个两孔插板都能用。那这有跟我们编程又有什么关系?哎,如果不是没事瞎想,还真想不来,所有有时候编程还是要多去跟生活结合着想一想,对我们还是有好处的。那到了编程中其实也是这种思想,就是一种标准。比如我们有一个鼠标类,然后有个电脑类,电脑厂家说我给你们把usb口留好了,你们自己去做usb对接就行。那造鼠标键盘的商家就按照usb接口制造了这些配件。那换到程序中就是,鼠标键盘这些类去实现usb接口就行,这样只要遇到usb接口就都能对接,因为都是一样的方法,至于里面怎么实现功能,那就是鼠标和键盘类的事了。其实通俗不标准的说,就是在代码中定义一种标准的方法的集合。如果哪个类要跟这个标准对接,那么你只要实现这个接口就行,基本就这么个意思。

原文地址:https://www.cnblogs.com/hjsstudio/p/8832454.html