3. 类为何物
类这个词,这几年很流行,其实这个概念本身并不难理解,类就是对象的蓝图,对象只不过是其对应的类的一份实例。但是该把怎么的属性和方法放在类中呢?怎么样的对象归结为一类是较好的呢?当类和接口联系在一齐时,问题就变的更加复杂了。一个对象可以是一个类的实例,也可以实现一个或数个接口,类的实例,实现接口,这些文字值得细细体会。这时又出现了一个问题:什么样的属性和方法该放在类中,什么样的属性和方法该放在接口中?概念上也许不难分清,可实际操作起来就并不容易了。这些问题也不是这份tutorial能讲清楚的。
Tutorial中提到了类的属性和类的方法,概念上没有什么难处,难得在实践。做几个项目,看一些好程序,再加上几本好书我想也就够了。也许这些会很费时间和精力,但是如果你不去努力,那么你的技术水平就不会有太大的提高。天下没有白吃的午餐。再加一句鼓励一下自己:天下事有难易乎?为之则难者亦易矣,不为则难者亦难矣
4. 继承
继承的概念也比较好理解,子类拥有父类的属性和方法,就如儿子和父亲一样,不同的是软件里的子类具有父类的全部属性和方法,不管子类是否愿意。当然如果子类不喜欢父类的方法,也可以覆写(override)父类的方法,以提供适合自己的实现。Java中有一个特殊的类:Object,它是所有类的父类,这点和C++不同,也引起了一系列的不同,有时间也要对此研究研究。Object提供了JVM要求的行为,以前对类管理器有些不理解,这里给了我一部分答案,原来一个基类就可以让问题变的这么简单。C#也借用了java这点。
继承带来了一下两点好处:
(1) 代码的重用
(2) 基类可以是一个只提供方法申明但不提供具体实现的抽象 类,这点有点像接口。