每周的最后一天都是进行回顾的日子,说是为了凑出一篇博客才进行的定期活动,尽然要做就不能让这些时间浪费掉。一直都跳票的系列连我自己都不想再看一遍之前是什么风格了,对了!你没想错,我就是没得写了。。。
开始看C#的视频了,我记得以前专业课的时候这玩意作为选修出现过一次,之后因为全班70多个人对C语言的强烈感情,大伙齐心协力把它赶出了我们的课程表。当时我们还都不会读后面的#,一看见都问:“C啥?”
现在想想以前也没读错嘛。
一直在看C++的书,视频中说C#是C++的升级版,当时我就笑了,这大学真没白上,C的祖孙三代全认识了一个遍。
大部分的面向对象的知识还是能理解的,但是这个抽象类和接口确实让我乱了一下,以前在网上看到的过一个例子:就像铁门木门都是门(抽象类),你想要个门我给不了(不能实例化),但我可以给你个具体的铁门或木门(多态);而且只能是门,你不能说它是窗(单继承);一个门可以有锁(接口)也可以有门铃(多实现)。 门(抽象类)定义了你是什么,接口(锁)规定了你能做什么(一个接口最好只能做一件事,你不能要求锁也能发出声音吧(接口污染))。
算是初步分清了到底哪里不一样。团战可以输,接口必须抽!抽象类中可以写一些具体的代码,接口比抽象类抽的更厉害,抽的都没有几乎代码了。
刚刚看完面向对象的第二讲,对接口,抽象类也是有了更多的认识:
| 抽象类 | 接口 |
继承 | 单继承 | 可以有多个接口 |
成员变量 | 任意 | 静态成员变量 |
静态成员变量的访问类型 | 任意 | 只能是public static final类型 |
方法 | 可以定义具体的方法 | 只能是抽象的 |
| 可以有构造方法 | 不能含有构造方法 |
| 可以有静态方法 | 不能有静态方法 |
抽象方法的访问类型 | 可以是public,protected | 只能是public类型 |
具体什么意思呢?其实我也不太清楚。。。用的少理解的就一定不够。
抽象类大多数情况下是作为其他类的基类,里面拥有大多数的公共属性和方法,方便子类继承。
接口对类的要求不高,不同的类可以完成某些相同的任务,就好比一个什么事情教程,小类类们看一遍就会做,当然做成什么样还要看它学的怎么样。
不知道能不能把程序用到的所有方法都封装到接口中。