继承是面向对象编程的基本概念之一,是面向对象程序设计最很重要的特征。
先来看一下继承的定义:一个新类从已有的类中获得其已有特性,这种现象称为类的继承。可见继承是解决代码中的复用问题。
在写代码的时候一般会有一个误区,认为是子类继承于父类,其实这是有问题的。先来看一下生活中的实际例子:现实生活中父与子的继承关系是什么样的呢,我们分情况来看。首先是在财产问题上,儿子肯定是继承于父亲的,毋庸置疑。然后来看看职责方面,是父亲继承于儿子还是儿子继承于父亲呢?所谓的职责就是,父亲肯定是儿子,拥有儿子的职责,同时父亲有其自己作为父亲的职责,也就是说父亲是对儿子的扩展,显然在这方面父亲是继承于儿子的。放在类中也是类似的,类的组成部分大致有两个部分(1)属性(2)方法。而属性类似于现实生活中的财产,方法类似于现实生活中的职责。那么问题来了,属性是子类继承于父类的,方法是父类继承于子类的,放在一起就乱套了。
现在在实际写代码时一般会将类中的属性和方法分离,分开处理。