.类的继承 继承作为面向对象的三个重要特性的一个方面,在面向对象的领域有着极其重要的作用, 好像没听说哪个面向对象的语言不支持继承。继承是PHP5 面向对象程序设计的重要特性之 一,它是指建立一个新的派生类,从一个或多个先前定义的类中继承数据和函数,而且可以 重新定义或加进新数据和函数,从而建立了类的层次或等级。说的简单点就是,继承性是子 类自动共享父类的数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的 时候,可以在一个已经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为 自己的内容,并加入若干新的内容。比如你现在已经有一个“人”这个类了,这个类里面有 两个成员属性“姓名和年龄”以及还有两个成员方法“说话的方法和走路的方法”,如果现在 程序需要一个学生的类,因为学生的也是人,所以学生也有成员属性“姓名和年龄”以及成 员方法“说话的方法和走路的方法”,这个时候你就可以让学生类来继承人这个类,继承之后, 学生类就会把人类里面的所有的属性都继承过来,就不用你再去重新声明一遍这些成员属性 和方法了,因为学生类里面还有所在学校的属性和学习的方法,所以在你做的学生类里面有 继承自人类里面的属性和方法之外在加上学生特有的“所在学校属性”和“学习的方法”, 这样一个学生类就声明完成了,继承我们也可以叫做“扩展”,从上面我们就可以看出,学生 类对人类进行了扩展,在人类里原有两个属性和两个方法的基础上加上一个属性和一个方法 扩展出来一个新的学生类。 通过继承机制,可以利用已有的数据类型来定义新的数据类型。所定义的新的数据类型 不仅拥有新定义的成员,而且还同时拥有旧的成员。我们称已存在的用来派生新类的类为基 类,又称为父类以及超类。由已存在的类派生出的新类称为派生类,又称为子类。 在软件开发中,类的继承性使所建立的软件具有开放性、可扩充性,这是信息组织与分 类的行之有效的方法,它简化了对象、类的创建工作量,增加了代码的可重性。采用继承性, 提供了类的规范的等级结构。通过类的继承关系,使公共的特性能够共享,提高了软件的重 用性。 在C++语言中,一个派生类可以从一个基类派生,也可以从多个基类派生。从一个基类派生的继承称为单继承;从多个基类派生的继承称为多继承。 但是在PHP 和Java 语言里面没有多继承,只有单继承,也就是说,一个类只能直接从 一个类中继承数据,这就是我们所说的单继承。 例如: 下面是“人”类的抽象 代码片段 下面我们做一个“学生类”,如果不是用继承如下:代码片段 通过上面“Student”类的定义,Student 类通过使用“extends”这个关键字把Person 类 里的所有成员属性和成员方法都继承过来了,并扩展了一个所在学校成员属性“school”,和 一个学习方法“study()”。现在子类“Student”里面和使用这个类实例出来的对象都具有如下 的属性和方法: 学生类“Student”里面的成员属性有: 姓名:name; 年龄:age; 性别:sex; 学校:school; 学生类“Student”里面的成员方法有: 说话方法:say(); 学习方法:study(); 通过上面类继承的使用简化了对象、类的创建工作量,增加了代码的可重性。但是从上 面这一个例子上中“可重用性”以及其它的继承性所带来的影响,我们看的还不是特别的明 显,你扩展的去想一下,人有无数个岗位,比如上面的学生还有老师、工程师、医生、工人 等,很多很多,如果每个类都定义“人”都共同具有的属性和方法,想一想会有很大的工作 量,这些属性和方法都可以从“Person”人类里面继承过来。
推荐整理分享php面向对象全攻略 (七) 继承性(php面向对象详解),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:php 面向对象,php面向对象是什么意思,php面向对象和面向过程,php面向对象优点,缺点,php语言之面向对象编程 educoder,php面向对象是什么意思,php 面向对象,php面向对象是什么意思,内容如对您有帮助,希望把文章链接给更多的朋友!
php面向对象全攻略 (八)重载新的方法 .重载新的方法在学习PHP这种语言中你会发现,PHP中的方法是不能重载的,所谓的方法重载就是定义相同的方法名,通过参数的个数不同或参数的类型
php面向对象全攻略 (九)访问类型 .访问类型类型的访问修饰符允许开发人员对类成员的访问进行限制,这是PHP5的新特性,但却是OOP语言的一个好的特性。而且大多数OOP语言都已支持此
php面向对象全攻略 (十) final static const关键字的使用 .final关键字的应用这个关键字只能用来定义类和定义方法,不能使用final这个关键字来定义成员属性,因为final是常量的意思,我们在PHP里定义常量使